Table of contents
diff -ybB --width=80 ficher1 fichier2
date +%s
date -d @1209041432
perl -e 'print(scalar(localtime(1209041432)));'
echo maChaine | openssl base64 # encode echo maChaineEnBase64 | openssl base64 -d # décode
mplayer ma_video.avi -vc dummy -vo null -ao pcm:file=son_video.wav
dd if=fichier_original of=fichier_modifié conv=ucase # transforme le contenu en majuscules dd if=fichier_original of=fichier_modifié conv=lcase # transforme le contenu en minuscules
wget -r -nc -nd -nH --cut-dirs=2 http://www.unsite.com/unrepertoire/lerepertoirequejeveux/
> lefichier.txt
cat lefichier.txt | sed '1!G;h;$!d'
echo *
cd /un/repertoire; tar cf - . | tar xf - -C /autre/repertoire
curl http://unsiteweb.com/page.html | sed 's/<[^>]*>//g'
sudo !!
less +F /un/fichierIl est également possible de passer temporairement en mode "temps réel" depuis une session en cours de
less avec la combinaison de touches Shift+f.
sed -i '/chaine/d' lefichier.txt
sed -i -e '/<REMOVE>/,/<\/REMOVE>/d lefichier.txtLe fichier :
ligne1 ligne2 <REMOVE> Bouh, c'est mal! Ils faut que ces lignes disparaissent... </REMOVE> ligne3donnera :
ligne1 ligne2 ligne3
ibase (''input base'', base d'entrée) et obase (''output base'', base de sortie) : il est même possible d'effectuer des opérations arithmétiques dans une certaine base et d'afficher le résultat dans une autre base.
Par défaut bc considère que ''ibase'' et ''obase'' sont en base 10 (décimale), il n'est donc pas nécessaire de les définir explicitement lors de vos conversions si vous utilisez l'ibase ou l'obase en base 10 :
$ echo 'obase=2; 145' | bc 10010001 $ echo 'ibase=2; 10010001' | bc 145
$ echo 'obase=16; ibase=2; 11010' | bc 1A $ echo 'ibase=2; 101111+10000101' | bc 180
$ find -type l | (while read FN ; do test -e "$FN" || ls -ld "$FN"; done)
$ find ./ -size +1000000k -printf "%kKo\t%p\n"
fichier.txt, avec sed :
sed -n "42p" fichier.txt
Avec awk :
awk -v l=42 'NR==l{ print }' fichier.txt
Pour afficher seulement de la ligne 10 à la ligne 15 :
awk 'NR>=10 && NR<=15' fichier.txt
-v et initialiser une variable Awk à la valeur de la variable Bash. Exemple utilisant un timestamp UNIX récupéré en Bash :
$ grep eth0 /proc/net/dev | cut -d: -f 2 | awk -v ts=`date +%s` '{print ts":"$1,ts":"$9}'
1311629204:4916897284 1311629204:10797655993
shuf (des GNU Coreutils) permet d'obtenir des nombres aléatoires compris dans un intervalle borné. Par exemple si je veux que le nombre aléatoire soit compris entre 10 et 50 :
shuf -n 1 -i 10-50 40
L'option -n indique la quantité de nombres à produire et afficher (par défaut 40), et -i indique les bornes minimum et maximum.
less comme pager, voici quelques variables d'environnement qui mettront de la couleur dans vos pages de man :
export LESS_TERMCAP_mb=$'\E[01;31m' export LESS_TERMCAP_md=$'\E[01;31m' export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_so=$'\E[01;44;33m' export LESS_TERMCAP_ue=$'\E[0m' export LESS_TERMCAP_us=$'\E[01;32m'