AWK 逻辑运算符
AWK支持以下逻辑运算符 −
逻辑与
表示为 & &。其语法如下−
语法
expr1 && expr2
它在expr1和expr2都为真时返回true;否则返回false。只有在expr1为真的情况下,才会对expr2进行评估。例如,以下示例检查给定的个位数是否为八进制格式。
示例
[jerry]$ awk 'BEGIN {
num = 5; if (num >= 0 && num <= 7) printf "%d is in octal format\n", num
}'
执行此代码后,您将获得以下结果:
输出
5 is in octal format
逻辑或
它由 || 表示。逻辑或的语法是-
语法
expr1 || expr2
如果expr1或expr2中有任一表达式为true,则结果为true;否则返回false。当且仅当expr1的值为false时,才会计算eval2的值。以下示例演示了这一点 −
示例
[jerry]$ awk 'BEGIN {
ch = "\n"; if (ch == " " || ch == "\t" || ch == "\n")
print "Current character is whitespace."
}'
执行此代码后,您将得到以下结果 −
输出
Current character is whitespace
逻辑非
它由 感叹号(!) 表示。下面的示例演示了这一点 –
示例
! expr1
它返回expr1的逻辑补码。如果expr1评估为true,则返回0;否则返回1。例如,以下示例检查字符串是否为空。
示例
[jerry]$ awk 'BEGIN { name = ""; if (! length(name)) print "name is empty string." }'
通过执行此代码,您将获得以下结果−
输出
name is empty string.