尽管条件错误,但仍执行AWK操作

时间:2020-04-22 21:53:28

标签: linux awk

这是我的AWK脚本

OK
OK
OK
...

输出为

1==2

条件multer显然是错误的,但是仍然执行了该动作。为什么呢?!

1 个答案:

答案 0 :(得分:2)

如果下一条命令在新行开始,则

终止命令的半冒号在awk中是可选

此处(1 == 2)与从新行开始的{...}块分开解释。 (1 == 2)返回false,不打印任何内容,但是下一个{ ... }块被认为是独立的,这里每行打印OK

您应该使用以下方法进行修复:

#!/bin/awk -f
(1 == 2) {
  print "OK"
}

现在,{ ... }中的任何内容都只有在条件成功时才会被评估。