====== awk ====== ===== Documentations ===== * [[http://www.vectorsite.net/tsawk1.html|A Guided Tour Of Awk]] * [[http://www.gnu.org/software/gawk/manual/gawk.html|The GNU Awk User's Guide]] * [[http://www.cs.hmc.edu/qref/awk.html|Getting started with awk]] * [[http://sparky.rice.edu/~hartigan/awk.htm|How to Use AWK]] * [[http://www.uga.edu/~ucns/wsg/unix/awk/|UNIX Utilities - awk]] * [[http://stud.wsi.edu.pl/~robert/awk/|Awk Tutorial]] * [[http://www.bolthole.com/awk6.html|Awk et shell]] * [[http://dmoz.org/Computers/Programming/Languages/Awk/|liens divers]] * [[http://allman.rhon.itam.mx/dcomp/awk.html|Introduction to awk]] * [[http://www.tldp.org/LDP/abs/html/awk.html|Awk et bash]] * [[http://www-128.ibm.com/developerworks/library/l-awk1.html]] * [[http://www-128.ibm.com/developerworks/library/l-awk2.html]] * [[http://www-128.ibm.com/developerworks/library/l-awk3.html]] * [[http://www.student.northpark.edu/pemente/awk/gawk_str.htm|String manipulations]] * [[http://www.oracle.com/technology/pub/articles/dulaney_awk.html|AWK: The Linux Administrators' Wisdom Kit]] * [[http://lea-linux.org/cached/index/Dev-awk.html|Introduction à (g)awk]] * [[http://www.stationlinux.org/fiche.67.html|Gawk Chapitre 1]] * [[http://www.stationlinux.org/fiche.75.html|Gawk Chapitre 2]] * [[http://www.stationlinux.org/fiche.76.html|Gawk Chapitre 3]] * [[http://www.stationlinux.org/fiche.77.html|Gawk Chapitre 4]] * [[http://www.stationlinux.org/fiche.81.html|Gawk Chapitre 5]] ===== Astuces ===== Imprimer tout le fichier (idem cat fichier.txt) : $ awk '{print}' fichier.txt Imprimer les lignes contenant "toto" (idem grep toto fichier.txt) $ awk '\toto\' fichier.txt $ awk '"toto"' fichier.txt idem (!) Imprimer les champs 5 7 et 12 des lignes contenant "toto" $ awk '\toto\ {print $5,$7,$12}' fichier.txt Imprimer les champs 3 et 7 si le champ 3 est inférieur à 2000 $ awk '{if ($3 < 2000) print $3, " ",$7}' fichier.txt Nb : pour entrer la tabulation : , ou bien mettre "\t" Afficher les utilisateurs par numéro croissant $ awk -F":" '{ print $3 "\t" $1 }' /etc/passwd |sort -g Utiliser comme séparateur la tabulation $ awk -F"\t" '{ print $4 "\t" $10 }' fichier Afficher le temps CPU de ssh $ while true ; do ps auwx | grep [s]sh | awk '{print $3}'; sleep 1; done NB : [s] évite l'affichage de la commande grep