Awk
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>