使用grep删除文本

时间:2010-08-24 12:23:23

标签: bash

我正在尝试删除包含文本文件中特定模式的行。我有以下代码不起作用

`grep -v "$varName" config.txt`

任何人都可以告诉我如何使其正常工作,我想使用grep而不是sed使其工作

3 个答案:

答案 0 :(得分:3)

grep不会修改文件。如果你坚持使用grep而不是sed,你可以做的最好的事情是

grep -v "$varName" config.txt > $$ && mv $$ config.txt

请注意,我使用$$作为临时文件名,因为它是bash脚本的pid,因此可能不是某个其他bash脚本将使用的文件名。我鼓励在bash中的临时文件名中使用$$,尤其是那些可能同时运行多次的文件名。

答案 1 :(得分:3)

你可以使用sed,就地使用-i

sed -i '/pattern/d' file

答案 2 :(得分:-1)

尝试使用-Ev

grep -Ev 'item0|item1|item2|item3'

这将删除包含项目[0-3]的行。让我知道这是否有帮助