我有一个包含多行数据的 .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
whered
删除该行,-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
。