如何在bash中删除围绕关键字的一系列行?

时间:2015-04-15 20:09:32

标签: bash

所以,我知道要删除与关键字匹配的行,你可以做类似的事情

grep -v "keyword"

你可以使用-A和-B开关在grep之前和之后获取行...但是,当你将两者合并时......

grep -A 15 -B 1 -v "keyword"

它并没有从输出中删除所有16行文本......它实际上似乎根本没有做任何事情,我可以说。是否有其他方法可以获得此功能,我可以搜索关键字,然后删除已定义的周围内容?

1 个答案:

答案 0 :(得分:0)

使用grep两次:

grep -v "$(grep -A 15 -B 1 'keyword' FILE)" FILE

对名为FILE的文件进行操作。

如果需要在stdout上工作,首先使用

将其写入FILE
> FILE

然后执行上述操作。

相关问题