awk打印条件

Hom*_*map 1 awk

我有一个简单的问题,但我无法弄清楚.

我有一个文件,我想要打印所有与我在awk if条件中指定的条件不匹配的行.但我可以打印出这个条件,另一个是如何工作的?

这是我的代码:

awk '{if ($18==0 && $19==0 && $20==0 && $21==0) print $0}' file
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

awk '{if !($18==0 && $19==0 && $20==0 && $21==0) print $0}' file
Run Code Online (Sandbox Code Playgroud)

但第二个不起作用,任何帮助表示赞赏.谢谢.

Jot*_*tne 6

在这里你可以做到:

awk '$18+$19+$20+$21!=0' file
Run Code Online (Sandbox Code Playgroud)

print $0 不需要,因为它的默认操作.