特定の列の特定の値に基づいてファイルから行を除外する

特定の列の特定の値に基づいてファイルから行を除外する

LinuxサーバーCentOS 7には、次の形式の多くの項目を含むテキストファイルがあります。

1234567890123456, 1, 17, cde, Test Test
1234567890123456, 2, 17, cde, Test Test
1234567890123456, 3, 17, cde, Test Test
1234567890123456, 4, 17, cde, Test Test
1234567890123456, 5, 17, cde, Test Test
1234567890123456, 1, 18, cde, Test Test
1234567890123456, 1, 17, cde, Test Test

削除するにはどのコマンドを使用する必要がありますか?

1, 17
2, 17
3, 17
4, 17

したがって、結果は次のようになります

1234567890123456, 5, 17, cde, Test Test
1234567890123456, 1, 18, cde, Test Test

ベストアンサー1

アッ方法:

awk -F, '!($2<5 && $3==17)' file

出力:

1234567890123456, 5, 17, cde, Test Test
1234567890123456, 1, 18, cde, Test Test

  • -F,- フィールド区切り記号

  • $2$3- はそれぞれ2番目と3番目のゲームを表します。

おすすめ記事