Awk

De Justine's wiki
Version datée du 16 septembre 2019 à 19:43 par Justine (discussion | contributions) (Page créée avec « = Présentation : fonctionnement global = Awk suit une logique simple : Lis, execute, répète. vignette == Structure d'un programme ==... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Présentation : fonctionnement global

Awk suit une logique simple : Lis, execute, répète.

Structure d'un programme

Nous avons trois blocs : BEGIN, le corps, et END.

Les mots-clefs sont en majuscules.

BEGIN

BEGIN {awk-commands}

Ce bloc est optionnel et ne s'éxecute qu'une seule fois, au démarrage. Il est optionnel.

BEGIN est un mot-clef.

Le corps

/pattern/ {awk-commands}

Ce bloc applique des commandes à chaque ligne, par défaut (à moins qu'on ne le restreigne avec des patterns).

END

END {awk-commands}

Même principe que le BEGIN, mais à la fin.

Premiers tests

Je pars du fichier suivant :

1)	Amit	 Physics	80
2)	Rahul	 Maths		90
3)	Shyam	 Biology	87
4)	Kedar	 English	85
5)	Hari	 History	89

Et avec un petit traitement par awk:

<syntaxhighlight lang='bash'> [justine@argonaut awk]$ awk 'BEGIN{printf Sr NotNametSubttMarksn} {print}' test Sr NoNameSubMarks 1)Amit Physics80 2)Rahul Maths90 3)Shyam Biology87 4)Kedar English85 5)Hari History89 </syntaxhighlight>