AWK - Operatori logici
AWK supporta i seguenti operatori logici:
AND logico
È rappresentato da &&. La sua sintassi è la seguente:
Sintassi
expr1 && expr2
Restituisce true se sia expr1 che expr2 restituiscono true; altrimenti restituisce falso. expr2 viene valutato se e solo se expr1 restituisce true. Ad esempio, il seguente esempio verifica se il numero a una cifra specificato è in formato ottale o meno.
Esempio
[jerry]$ awk 'BEGIN {
num = 5; if (num >= 0 && num <= 7) printf "%d is in octal format\n", num
}'
Eseguendo questo codice, ottieni il seguente risultato:
Produzione
5 is in octal format
OR logico
È rappresentato da ||. La sintassi dell'OR logico è:
Sintassi
expr1 || expr2
Restituisce true se espr1 o expr2 restituisce true; altrimenti restituisce falso. expr2 viene valutato se e solo se expr1 restituisce false. Il seguente esempio lo dimostra:
Esempio
[jerry]$ awk 'BEGIN {
ch = "\n"; if (ch == " " || ch == "\t" || ch == "\n")
print "Current character is whitespace."
}'
Eseguendo questo codice, ottieni il seguente risultato:
Produzione
Current character is whitespace
NOT logico
È rappresentato da exclamation mark (!). Il seguente esempio lo dimostra:
Esempio
! expr1
Restituisce il complimento logico di expr1. Se expr1 restituisce true, restituisce 0; altrimenti restituisce 1. Ad esempio, il seguente esempio controlla se una stringa è vuota o meno.
Esempio
[jerry]$ awk 'BEGIN { name = ""; if (! length(name)) print "name is empty string." }'
Eseguendo questo codice, ottieni il seguente risultato:
Produzione
name is empty string.