Une page dans votre Wiki a été ajoutée ou modifiée. Voici les détails : Date : 2010/06/30 11:07 Navigateur : Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4 Adresse IP : 82.224.249.154 Nom d'hôte : toulouse.jfg-networks.net Ancienne révision : http://cli.asyd.net/home/filtres/awk/presentation?rev=1240148515 Nouvelle révision : http://cli.asyd.net/home/filtres/awk/presentation Résumé : Utilisateur : ker2x @@ -407,10 +407,34 @@ } ' /var/mail/$USER </code> + ====== Awk facile dans le monde réel ====== + + Et maintenant on va faire simple \o/ + Comment résoudre des problème du monde réel avec awk (gawk dans mon cas) plutot qu'a coup de grep | sed | cut | sort | ... + + ==== petit résumé === + + * Un script awk se compose de 3 parties : + * BEGIN { } : Ce qui sera fait avant de commencer a traiter le fichier donné. + * Le corps du script + * END { } : Ce qui sera fait après avoir traité la totalité du fichier + + * Mots clés et variables utiles : + * FS (field separator) : Definit le separateur de champs. ex : BEGIN { FS="\t" } pour dire qu'on travaille sur un fichier tabulé. A ma connaissance, aucune implémentation n'accepte de regexp comme séparateur de champs. + * RS (record separator) : Definit le separateur de ligne. (pareil, on le met dans le BEGIN { }) + * NR : Nombre de champs dans la ligne courante + * NF : Dernier champs d'une ligne. ex : print $NF affiche le dernier champs. Utile aussi dans les boucles for : for (i=1 ; i<=NF ; i++) + * $0 : print $0 pour afficher toute la ligne + * $1, $2, $n : premier champ, 2ème champ, nième champ. + * next : dit a awk de sauter a la ligne suivante sans s'occuper du reste. du corps du script. + + Y'a des milliards d'autres trucs mais on a déjà le plus utile rien qu'avec ca. + + ** A suivre, j'suis au boulot et un truc viens de planter \o/ ** ====== Historique du document ====== * Première version de Christophe Martin (10 Mars 2006) * Christophe Martin : Correction d'orthographe et ajout d'exemples commentés (19 avril 2009) -- Ce message a été généré par DokuWiki http://cli.asyd.net/home/