從文字檔案中刪除包含數字的特定行

從文字檔案中刪除包含數字的特定行

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

相關內容