3

私は次の問題を抱えています:私は次のようなファイルを持っています:

1 3 4
2 5 6
3 1 3
4 1 0
5 7 0
6 0 1

そして、2番目の列に1を含み、3番目の列に数値0を含む行を削除したいと思います。したがって、結果は次のようになります。

1 3 4
2 5 6
3 1 3
5 7 0
6 0 1

私は試しました:awk '$2!=1 && $3 != 0' file

ただし、「570」および「313」の行も削除されます。

何か助けはありますか?

4

4 に答える 4

6

あなたがしたい:

awk '!( $2==1 && $3 == 0)' file

または、同等に:

awk '$2 != 1 || $3' file
于 2012-12-12T20:05:07.710 に答える
3

の否定を探しています$2 == 1 && $3 == 0。論理のルールによると、それは

awk '$2 != 1 || $3 != 0'
于 2012-12-12T20:05:01.363 に答える
2

これにより、次のことが保証されます。

 awk '!($2==1 && $3==0){print}' file

つまり、2 列目が 1 で 3 列目が 0 の行を除くすべての行を出力します。

于 2012-12-12T20:05:14.123 に答える
0

これを試して

awk '$2$3!="10"' file

乾杯!

于 2012-12-12T20:14:49.177 に答える