AWK

AWK

DĂ©finition

AWK est un langage de traitement de lignes. Bon une fois qu’on a dit cela, on a pas dit grand chose 🙂
Il est souvent utilisé pour traiter des fichiers textes, faire des recherches, des remplacement ou transformer le contenu de fichiers.

C’est un langage disponible sur quasiment tout les UNIX, dont GNU/Linux. oĂą le nom du programme utilisĂ© est gawk mais awk est un lien vers gawk.

La définition quand donne Wikipédia est très bonne : AWK
Il agit comme un filtre programmable prenant une sĂ©rie de lignes en entrĂ©e (sous forme de fichiers ou directement via l’entrĂ©e standard et Ă©crivant sur la sortie standard, qui peut ĂŞtre redirigĂ©e vers un autre fichier ou programme.

Un programme Awk est composĂ© de trois blocs distincts utilisables ou non pour le traitement d’un fichier (PrĂ© traitement, traitement, Post traitement). Awk lit sur l’entrĂ©e ligne par ligne, puis sĂ©lectionne (ou non) les lignes Ă  traiter par des expressions rationnelles (et Ă©ventuellement des numĂ©ros de lignes).
Une fois la ligne sĂ©lectionnĂ©e, elle est dĂ©coupĂ©e en champs selon un sĂ©parateur d’entrĂ©e indiquĂ© dans le programme awk par le symbole FS (qui par dĂ©faut correspond au caractère espace ou tabulation). Puis les diffĂ©rents champs sont
disponibles dans des variables :
$1 (premier champ), $2 (deuxième champ), $3 (troisième champ), …,

De nombreuses variables prédéfinies sont disponibles :

$NF : nombre de champs
$0 : l’enregistrement complet

La syntaxe de AWK est assez proche de celle du langage C.

Exemple

A FINIR