AWK - Flusso di controllo

Come altri linguaggi di programmazione, AWK fornisce istruzioni condizionali per controllare il flusso di un programma. Questo capitolo spiega le istruzioni di controllo di AWK con esempi appropriati.

If dichiarazione

Verifica semplicemente la condizione ed esegue determinate azioni a seconda della condizione. Di seguito è riportata la sintassi diif dichiarazione -

Sintassi

if (condition)
   action

Possiamo anche usare un paio di parentesi graffe come indicato di seguito per eseguire più azioni:

Sintassi

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

Ad esempio, il seguente esempio controlla se un numero è pari o meno:

Esempio

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

Quando si esegue il codice sopra, si ottiene il seguente risultato:

Produzione

10 is even number.

If Else Statement

In if-else sintassi, possiamo fornire un elenco di azioni da eseguire quando una condizione diventa falsa.

La sintassi di if-else l'affermazione è la seguente:

Sintassi

if (condition)
   action-1
else
   action-2

Nella sintassi precedente, l'azione-1 viene eseguita quando la condizione restituisce true e l'azione-2 viene eseguita quando la condizione restituisce false. Ad esempio, il seguente esempio controlla se un numero è pari o meno:

Esempio

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

Eseguendo questo codice, ottieni il seguente risultato:

Produzione

11 is odd number.

If-Else-If Ladder

Possiamo facilmente creare un file if-else-if ladder utilizzando multiple if-elsedichiarazioni. Il seguente esempio lo dimostra:

Esempio

[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";
}'

Eseguendo questo codice, ottieni il seguente risultato:

Produzione

a = 30