複数行のデータを含む.csvファイルがあります。文字列/レコードから特定の値を取得し、行自体を削除する必要があります。
たとえば、
abc.csv
col1_id,col2,col3,col4,col5
1000541,aaaa,bbbb,cccc,dddd
1000542,eeee,ffff,gggg,hhhh
1000543,iiii,jjjj,kkkk,llll
1000544,mmmm,nnnn,oooo,pppp
1000542を検索し、その数を含む行全体を削除する必要があります。
col1_id,col2,col3,col4,col5
1000541,aaaa,bbbb,cccc,dddd
1000543,iiii,jjjj,kkkk,llll
1000544,mmmm,nnnn,oooo,pppp
答え1
sed
以下を使用して行を削除できます。
sed -i '/1000542/d' abc.cvs
ここでd
行を削除し、修正されたテキストを出力するのではなく、ファイルに対して操作を実行するように指示するのは、検索したい-i
パターンであり、ファイル名です。sed
1000542
abc.cvs
答え2
awkを使用することもできます。
awk '/1000542/ {next}1' infile > outfile
例:
$ awk '/1000542/ {next}1' file
col1_id,col2,col3,col4,col5
1000541,aaaa,bbbb,cccc,dddd
1000543,iiii,jjjj,kkkk,llll
1000544,mmmm,nnnn,oooo,pppp
印刷を含む行をスキップします1000542
。