grep - 印刷ファイル名を処理できません。

grep - 印刷ファイル名を処理できません。

このようなログがあります。 .bill.file 形式のファイル数を処理します。処理中に問題が発生した場合深刻なメッセージの後情報ファイルパスの詳細を含む印刷されます。

SEVERE  2016-02-09 00:45:18 [process number] rocessRunner.process Exception during process 123.bill.file
SEVERE  2016-02-09 00:45:18 [process number]
...
...
INFO    2016-02-09 00:45:18 [process number] Runner. Closing input  /var/run/data/123.bill.file

私の要件は、例外が発生するファイルパスを取得することです。

答え1

grepあなたの要件などの条件ベースの一致には実際には適していませんが、複数行で複数のawkパターン一致を処理するのに適しています。あなたの入力に応じて、最初に始まる文字列を一致させ、次のSEVERE一致がINFO発生した場合は最後の列を印刷します。可能探しているファイルが含まれています。

awk '/^SEVERE/{flag=1; next} flag && /^INFO/{print $NF; flag=0}' file

関連情報