关于linux:删除包含指定单词的所有行

Deletes all lines containing a specified word

本问题已经有最佳答案,请猛点这里访问。

我想写一个shell脚本,它会删除一个或多个作为参数提供的文件中包含指定单词的所有行。我该怎么办?

我是shell脚本的初学者。所以,如果你给出答案,详细说明它是如何工作的,那将是非常有帮助的。


sed delete命令可以轻松完成此操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ cat foo.txt
apple
pear
peach
banana
orange

$sed -ie '/pea/d' foo.txt

$ cat foo.txt
apple
banana
orange

这只是搜索pea并使用d(删除)命令删除它。