次の内容を含む 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行を削除します。