从文本文件中删除行

时间:2014-03-03 12:35:44

标签: shell

我有一个名为ABC.txt的文本文件包含数据

set_id,name,desc
1,ali,hr
2,asd,re
set_id,name,desc

现在我想删除文件中包含单词set_id的所有行。

2 个答案:

答案 0 :(得分:0)

grep-v一起用于反向搜索,如下所示:

grep -v "^set_id" ABC.txt

或者,如果要保存到新文件,请执行以下操作:

grep -v "^set_id" ABC.txt > newfile

或者,如果你在Windows上:

FINDSTR /V set_id ABC.txt > newfile

答案 1 :(得分:0)

使用sed编辑文件:

sed -i /set_id/d ABC.txt

其中

 -i         - in-place edit (changes the source file)
 /set_id/   - matches all lines containing set_id
 d          - delete matches

编辑:变体:

sed -i /^set_id/d ABC.txt           # Lines starting with 'set_id'
sed -i '/\<set_id\>/d' ABC.txt      # Lines containing the word 'set_id'
sed -i '/^set_id\>/d' ABC.txt       # Lines starting with the word 'set_id'