
我有一個包含多行資料的 .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
。