如何删除bash(awk)中有2个条件的行

Val*_*tti 3 bash awk

我有以下问题:我有一个文件,如:

1 3 4
2 5 6
3 1 3
4 1 0
5 7 0
6 0 1
Run Code Online (Sandbox Code Playgroud)

我想删除包含在第二列1和第三列中的数字0的行.所以结果应该是:

1 3 4
2 5 6
3 1 3
5 7 0
6 0 1
Run Code Online (Sandbox Code Playgroud)

我尝试过: awk '$2!=1 && $3 != 0' file

但它也将删除行:'5 7 0'和'3 1 3'

有帮助吗?

Wil*_*ell 6

你要:

awk '!( $2==1 && $3 == 0)' file
Run Code Online (Sandbox Code Playgroud)

或者,等效地:

awk '$2 != 1 || $3' file
Run Code Online (Sandbox Code Playgroud)