AWK - 逻辑运算符



AWK 支持以下逻辑运算符:

逻辑 AND

&& 表示。语法如下所示:

语法

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

逻辑 OR

|| 表示。逻辑 OR 的语法为:

语法

expr1 || expr2

如果 expr1 或 expr2 计算为 true,则计算为 true;否则返回 false。仅当 expr1 计算为 false 时才会计算 expr2。以下示例演示了这一点:

示例

[jerry]$ awk 'BEGIN {
   ch = "\n"; if (ch == " " || ch == "\t" || ch == "\n") 
   print "Current character is whitespace." 
}'

执行该代码后,会得到以下结果:

输出

Current character is whitespace

逻辑 NOT

感叹号 (!) 表示。以下示例演示了这一点:

示例

! expr1

返回 expr1 的逻辑补充。如果 expr1 计算为 true,则返回 0;否则返回 1。例如,以下示例检查字符串是否为空。

示例

[jerry]$ awk 'BEGIN { name = ""; if (! length(name)) print "name is empty string." }'

执行该代码后,会得到以下结果:

输出

name is empty string.
awk_operators.htm
广告
© . All rights reserved.