私は次の問題を抱えています:私は次のようなファイルを持っています:
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」の行も削除されます。
何か助けはありますか?
あなたがしたい:
awk '!( $2==1 && $3 == 0)' file
または、同等に:
awk '$2 != 1 || $3' file
の否定を探しています$2 == 1 && $3 == 0
。論理のルールによると、それは
awk '$2 != 1 || $3 != 0'
これにより、次のことが保証されます。
awk '!($2==1 && $3==0){print}' file
つまり、2 列目が 1 で 3 列目が 0 の行を除くすべての行を出力します。
これを試して
awk '$2$3!="10"' file
乾杯!