を使用して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