列が特定の文字列ではなくCSVファイルから行を削除する

列が特定の文字列ではなくCSVファイルから行を削除する

次のCSVファイルがあります。

"mikecook1966","6days","","Classy1","7/2020"
"kyndrion","1min","","Doominator handle","7/2020"
"Ataca","Feb2,2020","","Soporte 30.5x30.5 VTX-DVR Speedy Bee","7/2020"

2列にが含まれる出力を維持したいと思います2020

出力例:

"Ataca","Feb2,2020","","Soporte 30.5x30.5 VTX-DVR Speedy Bee","7/2020"

答え1

CSVにエスケープされた二重引用符が含まれていない場合は、grepを使用できます。

grep '^"[^"]*","[^"]*2020' file.csv

より複雑なCSVの場合、CSVをサポートするツールが必要です。

perl -MText::CSV_XS=csv -e 'csv( in     => "file.csv",
                                 filter => { 2 => sub{ /2020/ } } )'

関連情報