我正在尝试删除包含文本文件中特定模式的行。我有以下代码不起作用
`grep -v "$varName" config.txt`
任何人都可以告诉我如何使其正常工作,我想使用grep而不是sed使其工作
答案 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]的行。让我知道这是否有帮助