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