使用grep
,我想选择所有与一个模式匹配但与另一个模式不匹配的行。我希望能够使用的单次调用,grep
以便可以使用--after-context
选项(或--before-context
,或--context
)。
-v
在此处不可行,因为它会否定我grep
使用该-e
选项传递给所有模式的方式。
例
我想查找匹配以下内容的一行needle
,而忽略匹配的ignore me
行。
这是我的输入文件:
one needle ignore me
two
three
four needle
five
我想要的输出是:
four needle
five
如您所见,这种幼稚的解决方案不起作用:
$ cat file | grep --after-context=1 needle | grep -v 'ignore me'
two
---
four needle
five
ack