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.

❮ AWK 运算符