[CLI Wiki] page changée : filtres:awk:presentation
Une page dans votre Wiki a été ajoutée ou modifiée. Voici les détails : Date : 2009/04/19 11:28 Navigateur : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.10 (intrepid) Firefox/3.0.8 Adresse IP : 82.253.120.2 Nom d'hôte : lns-bzn-38-82-253-120-2.adsl.proxad.net Ancienne révision : http://cli.asyd.net/home/filtres/awk/presentation?rev=1240132082 Nouvelle révision : http://cli.asyd.net/home/filtres/awk/presentation Résumé : remise en forme. exemple plus clair. Utilisateur : christophemartin @@ -107,44 +107,58 @@ de manuel de perlvar : Remember: the value of $/ is a string, not a regex. awk has to be better for something. :-) + ======Exécuter awk ====== Non, nous ne parlons pas ici de mise à mort, mais de la manière de se servir - de awk. L'invocation standard est : + de awk. + L'invocation standard est : <code> awk 'commande awk' fichier fichier... </code> - et cela signifie : exécuter la 'commande awk' pour l'ensemble des fichiers + et cela signifie : exécuter la 'commande awk' pour l'ensemble des fichiers.\\ exemple : <code> awk '{ print NR, $0 }' *.txt </code> - Si aucun fichier n'est donne, awk lit son entrée standard, ce qui fait - qu'on peut l'utiliser dans les pipes, en filtre - + Si aucun fichier n'est donné, awk lit son entrée standard, ce qui fait + qu'on peut l'utiliser dans les pipes, en filtre.\\ exemple : <code> ls -l | awk '{ print ; s += $5 } END { print "total =", s }' </code> Enfin, on peut définir des variables awk avant d'exécuter quoi que ce soit. - + Les deux lignes d'exemple ci dessous sont equivallentes. <code awk> ls | awk -v x=coucou '{ print x, $0 }' + ls | awk 'BEGIN { x="coucou" } { print x, $0 }' </code> - Et pour écrire un script en awk, il faut utiliser l'option -f ; le shabang doit donc être : - + Si votre programme en awk est tellement complexe et long qu'il ne tient plus sur la ligne de commande, vous le mettrez peut-être dans un fichier. À ce moment là, vous exécuterez votre script de la manière suivante ; + <code> + awk -f fichier-script fichier-a-traiter... + </code> + Vous pouvez également rendre votre fichier-script exécutable grâce à //chmod 755 fichier-script// par exemple, et y ajouter à la première ligne le shabang idoine. Vous pourrez alors exécuter le script comme toute autre commande : en tapant son nom. \\ + Voilà un exemple de script en awk, pas très utile cependant : <code awk> #! /usr/bin/awk -f + + BEGIN { + x="coucou" + } + { + print x, $0 + } </code> + ===== Des exemples simples ==== Ces exemples simples permettent d'approcher doucement awk. L'idée de awk est que les lignes sont composées de colonnes; la définition -- Ce message a été généré par DokuWiki http://cli.asyd.net/home/
participants (1)
-
noreply@asyd.net