逻辑运算符包括 逻辑与( && )、逻辑或( || )、逻辑非 ( ! )
逻辑与( && )
逻辑与运算符使用两个 & 表示,为 &&,它的语法为
expr1 && expr2
逻辑与( && )运算符的计算结果遵循以下规则
1、 如果expr1和expr2的计算结果都为true,则结果为true;否则返回false;
2、 当且仅当expr1的计算结果为true时,才会计算expr2;
[www. ddkk.cn]$ awk 'BEGIN {
num = 5; if (num >= 0 && num <= 7) printf "%d is in octal format\n", num
}'
运行上面的 awk 命令,输出结果为
5 is in octal format
逻辑或( || )
逻辑或运算符使用 || 表示。
它的语法为
expr1 || expr2
逻辑或( || )运算符的计算结果遵循以下规则
1、 如果expr1和expr2的计算结果只要有一个为true,则结果为true;否则返回false;
2、 当且仅当expr1的计算结果为false时,才会计算expr2;
[www.ddkk.com]$ awk 'BEGIN {
ch = "\n"; if (ch == " " || ch == "\t" || ch == "\n")
print "Current character is whitespace."
}'
运行上面的 awk 命令,输出结果为
Current character is whitespace
逻辑非 ( ! )
逻辑非运算符使用 感叹号( !) 表示。它的语法为
! expr1
逻辑非运算符返回 expr1 的逻辑补语,也就是说如果 expr1 的计算结果为 true,则返回 0; 否则返回 1。
例如下面的 AWK 命令,因为 name 为空字符串,所以 length(name) 的结果为 0,对 0 执行逻辑非运算,则为 true
[www.ddkk.com]$ awk 'BEGIN { site = ""; if (! length(site)) print "site is empty string." }'
运行上面的 awk 命令,输出结果为
site is empty string.