AWK - 逻辑运算符
AWK 支持以下逻辑运算符 −
逻辑与
用&&表示。 它的语法如下 −
语法
expr1 && expr2
如果 expr1 和 expr2 都评估为 true,则它评估为 true; 否则返回false。 当且仅当 expr1 评估为 true 时才评估 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 计算结果为真,则计算结果为真; 否则返回false。 当且仅当 expr1 的计算结果为 false 时才计算 expr2。 以下示例演示了这一点 −
示例
[jerry]$ awk 'BEGIN { ch = "\n"; if (ch == " " || ch == "\t" || ch == "\n") print "Current character is whitespace." }'
在执行此代码时,您会得到以下结果 −
输出
Current character is whitespace
逻辑非
用感叹号(!)表示。 以下示例演示了这一点 −
示例
! expr1
它返回 expr1 的逻辑补码。 如果 expr1 计算结果为真,则返回 0; 否则返回 1。例如,以下示例检查字符串是否为空。
示例
[jerry]$ awk 'BEGIN { name = ""; if (! length(name)) print "name is empty string." }'
在执行此代码时,您会得到以下结果 −
输出
name is empty string.