当前位置: 首页 > 文档资料 > Awk 中文教程 >

逻辑运算符(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.