逻辑运算符(Logical Operators)
优质
小牛编辑
136浏览
2023-12-01
AWK支持以下逻辑运算符 -
逻辑和
它由&&表示。 其语法如下 -
语法 (Syntax)
expr1 && expr2
如果expr1和expr2都计算为true,则计算结果为true; 否则返回false。 当且仅当expr1的计算结果为true时,才会计算expr2。 例如,以下示例检查给定的单个数字是否为八进制格式。
例子 (Example)
[jerry]$ awk 'BEGIN {
num = 5; if (num >= 0 && num <= 7) printf "%d is in octal format\n", num
}'
执行此代码时,您将获得以下结果 -
输出 (Output)
5 is in octal format
逻辑或
它由||表示 。 Logical OR的语法是 -
语法 (Syntax)
expr1 || expr2
如果expr1或expr2的计算结果为true,则计算结果为true; 否则返回false。 当且仅当expr1的计算结果为false时,才会计算expr2。 以下示例演示了这一点 -
例子 (Example)
[jerry]$ awk 'BEGIN {
ch = "\n"; if (ch == " " || ch == "\t" || ch == "\n")
print "Current character is whitespace."
}'
执行此代码时,您将获得以下结果 -
输出 (Output)
Current character is whitespace
逻辑不
它由exclamation mark (!) 。 以下示例演示了这一点 -
例子 (Example)
! expr1
它返回expr1的逻辑补语。 如果expr1的计算结果为true,则返回0; 否则返回1.例如,以下示例检查字符串是否为空。
例子 (Example)
[jerry]$ awk 'BEGIN { name = ""; if (! length(name)) print "name is empty string." }'
执行此代码时,您将获得以下结果 -
输出 (Output)
name is empty string.