L'ensemble des structures de contrôle de "awk" fonctionnent comme celles du langage C. Nous allons donc ne faire qu'un bref rappel sur la syntaxe des différentes structures de contrôles disponibles.
Dans toute la suite de ce paragraphe, le terme instruction désigne un
ensemble d'instructions "awk" séparées par le caractère
";" ou "
"et encadrées par des "{","}".
Structure de contrôle "if, else" :
if (condition) instruction else instruction
Structure de contrôle "while" :
while (condition) instruction
for (init;condition;it{\'e}ration) instruction
L'instruction "break" provoque la sortie du niveau courant d'une boucle "while" ou "for".
L'instruction "continue" provoque l'itération suivante au niveau courant d'une boucle "while" ou "for".
Instruction "next" : L'instruction "next" force "awk" à passer à la ligne suivante du fichier en entrée.
L'instruction "exit" force "awk" à interrompre la lecture du fichier d'entrée comme si la fin avait été atteinte.
Exemple 15..7 :
if ($3 == foo*5) { a = $6 % 2; print $5, $6, "total", a; b = 0; } else { next } while ( i <= NF) { print $i; i ++; } for (i=1; ( i<= NF) && ( i <= 10); i++) { if ( i < 0 ) break; if ( i == 5) continue; print $i; }
Remarque 15..2 :
Ces structures de contrôles et les instructions qui y sont liées , bien que leur nom soit identique à celui utilisé pour les structures du shell sont différentes en de multiples points :
Par conséquent, l'utilisation d'un "if" peut être lié au shell ou bien à un utilitaire comme "awk".