Système awk
(d'après le tutoriel de nyal sur http://www.developpez.com/tutoriel)
1
Présentation
Awk est un langage de programmation datant de 1977, date de son apparition dans le monde Unix. Il tire son nom des trois programmeurs qui l'ont développé : Alfred V. Aho, Peter J. Weinberger et Brian W. Kernighan. Il en existe différentes versions AWK(version originale provenant de AT&T, NAWK version améliorée de la première par AT&T, et GAWK une version développée par la fondation pour le logiciel libre). Cet utilitaire a été créé dans le but de remplacer les commandes grep et sed. Il est toujours utilisé du fait de sa ressemblance avec le langage C, de sa souplesse et de sa présence sur la majorité des systèmes d'exploitation Unix. Il est encore utilisé en administration système et dans les scripts Shell en tant que commande.
2 2.1
Un programme awk Fonctionnement
Awk fonctionne en lisant des données. Ces données peuvent être ainsi traitées par l'utilisateur, et provenir soit de fichiers, soit du canal de l'entrée standard (via un pipe par exemple). Exécution d'un programme awk : 2 manières de faire : ◦ soit en rendant le fichier exécutable en insérant en haut du fichier la ligne #! /usr/bin/awk -f ◦ soit en l'exécutant à l'aide de la commande awk sous un Shell avec l'option -f awk -f fichier_awk < fichier_texte Attention un programme awk ne fonctionnera que si il a des données à lire.
2.2
Structure du programme
Un programme awk se divise en 3 parties : 1. Coeur du programme Ce coeur est composé de conditions et d'actions qui vont être exécutées pour chaque enregistrement (ligne du fichier à traiter) si la condition est remplie :
Condition { action } …. Condition { action } Condition \ { action }
L'accolade ouvrante doit être sur la même ligne, ou il faut mettre le caractère ('\') :
Il est possible de ne pas avoir de condition, alors l'action entre accolades sera automatiquement exécutée. On peut exécuter 2