一致する行の内容を除いて、grep -Cまたは-Aまたは-Bを組み合わせることはできますか?

一致する行の内容を除いて、grep -Cまたは-Aまたは-Bを組み合わせることはできますか?

したがって、grepを使用すると、-Aを使用して「以降」に一致する行を取得でき、-Bを使用して「前」に一致する行を取得できます。 -C を使用して前後の行を取得することもできます。

このようなデータがあります。

boring data
boring data
boring data
interesting value
MARK
boring data
boring data
boring data
interesting value
MARK

次のような出力を得たいと思います。

interesting value
interesting value

-BIオプションを使用すると、次のようになります。

# cat somefile | grep -B 1 MARK

interesting value
MARK
interesting value
MARK

MARKラインを完全に除外したいです。

ベストアンサー1

grep-v最初のものの後に駅を追加できますgrep

$ grep -B1 --no-group-separator 'MARK' somefile | grep -v 'MARK'
interesting value
interesting value

--no-group-separator一致の間に区切り文字を省略する機能を追加しました。

おすすめ記事