各行の最初の列に正規表現のみがある場合、csvファイルから行を削除する

各行の最初の列に正規表現のみがある場合、csvファイルから行を削除する

次のようなカンマ区切りのデータがあります(視覚的に明確にするためにスペースを使用)。

 1 2014 23 2352 19.24 7.18
 1 2014 23 2353 19.78 4.65
24 2014 23 2354 20.26 25.34
 1 2014 23 2355 26.65 42.76
 1 2014 23 2356 27.34 56.356
 1 2014 23 2357 29.24 45.4
24 2014 23 2358 30.23 345.27
 1 2014 23 2359 23.23 345.21
 1 2014 24 0000 12.53 1.98
 1 2014 24 0001 7.24  12.3
24 2014 24 0002 15.68 90.8

24で始まるすべての行を削除したい(またはどちらか1で始まるすべての行を維持したい)

したがって、希望の出力は次のようになります。

 1 2014 23 2352 19.24 7.18
 1 2014 23 2353 19.78 4.65
 1 2014 23 2355 26.65 42.76
 1 2014 23 2356 27.34 56.356
 1 2014 23 2357 29.24 45.4
 1 2014 23 2359 23.23 345.21
 1 2014 24 0000 12.53 1.98
 1 2014 24 0001 7.24  12.3

頑張りました

sed '/24/d' (filename)

ただし、これにより、次のようにファイル全体から24のすべてのインスタンスが削除されます(必要ありません!)。

1 2014 23 2353 19.78 4.65
1 2014 23 2355 26.65 42.76
1 2014 23 2356 27.34 56.356
1 2014 23 2359 23.23 345.21

答え1

(行の先頭のすべての内容を印刷します)awk1

awk '/^1/{print $0}'

sed-nすべての内容を印刷したくない場合は、オプションを使用してください):

sed -n '/^1/p'

使用してくださいgrep(テキスト処理に最適な選択ではありませんが、この場合は十分です)。

grep '^1'

答え2

grep -v ^2424で始まらない行だけを維持してください。

関連情報