このようなログがあります。 .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