AWK - Flux de contrôle

Comme les autres langages de programmation, AWK fournit des instructions conditionnelles pour contrôler le flux d'un programme. Ce chapitre explique les instructions de contrôle d'AWK avec des exemples appropriés.

Si déclaration

Il teste simplement la condition et effectue certaines actions en fonction de la condition. Voici la syntaxe deif déclaration -

Syntaxe

if (condition)
   action

Nous pouvons également utiliser une paire d'accolades comme indiqué ci-dessous pour exécuter plusieurs actions -

Syntaxe

if (condition) {
   action-1
   action-1
   .
   .
   action-n
}

Par exemple, l'exemple suivant vérifie si un nombre est pair ou non -

Exemple

[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'

En exécutant le code ci-dessus, vous obtenez le résultat suivant -

Production

10 is even number.

If Else Statement

Dans if-else syntaxe, nous pouvons fournir une liste d'actions à effectuer lorsqu'une condition devient fausse.

La syntaxe de if-else la déclaration est la suivante -

Syntaxe

if (condition)
   action-1
else
   action-2

Dans la syntaxe ci-dessus, action-1 est exécutée lorsque la condition est évaluée à vrai et action-2 est exécutée lorsque la condition est évaluée à fausse. Par exemple, l'exemple suivant vérifie si un nombre est pair ou non -

Exemple

[jerry]$ awk 'BEGIN {
   num = 11; if (num % 2 == 0) printf "%d is even number.\n", num; 
      else printf "%d is odd number.\n", num 
}'

En exécutant ce code, vous obtenez le résultat suivant -

Production

11 is odd number.

Échelle If-Else-If

Nous pouvons facilement créer un if-else-if échelle en utilisant plusieurs if-elsedéclarations. L'exemple suivant illustre ceci -

Exemple

[jerry]$ awk 'BEGIN {
   a = 30;
   
   if (a==10)
   print "a = 10";
   else if (a == 20)
   print "a = 20";
   else if (a == 30)
   print "a = 30";
}'

En exécutant ce code, vous obtenez le résultat suivant -

Production

a = 30