[CLI Wiki] page changée : filtres:awk:presentation

noreply at asyd.net noreply at asyd.net
Sun Apr 19 11:28:23 CEST 2009


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/



More information about the Shell mailing list