大文字と小文字の一致とコンテキスト一致を除く Grep ファイルの内容

大文字と小文字の一致とコンテキスト一致を除く Grep ファイルの内容

次の内容を含む test.txt ファイルがあります。

line random text 1
line random text 2
line random text 3
line particular exception 
line except detail 1
line except detail 2
line except detail 3
....
line random text 14
line random text 15
line random text 16
line particular exception 
line except detail 1
line except detail 2
line except detail 3
.....

「特定の例外」が発生するファイルの内容をフィルタリングし、その後に表示される「特定の例外」の詳細(常に3行)をフィルタリングするための出力(追加のgrep用)が必要です。

私が思いついた論理コマンドは次のとおりです。

cat test.txt | grep -v -A 3 "particular exception"

しかし、期待どおりに動作しません。

これを行う正しい方法は何ですか?

いくつかの状況では、繰り返される特定の例外を除いてログファイルで例外を探すことになるので、まずその例外を消去したいと思います。

ベストアンサー1

grep代わりに、以下を使用してGNUを使用できますsed

sed -e '/particular exception/,+3d' test.txt

その後、一致する行を見つけて、その行particular exceptionとその後の3行を削除します。

おすすめ記事