を使用してgrep、パターンに一致し、別のパターンに一致しないすべての行を選択します。私は、単一の呼び出しを使用することができるようにしたいgrep、私が使用できるように、--after-contextオプション(または--before-context、あるいは--context)を。
-vオプションをgrep使用して渡すすべてのパターンが無効になるため、ここでは実行できません-e。
例
一致needleする行を無視してignore me、次のコンテキストの1行で一致する行を探します。
これが私の入力ファイルです:
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