ログファイルからエラータイプを分離したいと思います。私はそれの論理を定式化することはできません。私のログファイルにこれらのさまざまな種類のエラーがあるとしましょう。今、これらのタイプを抽出したいと思います。以下のログ例と同様に、HTTPエラー、ソケットタイムアウト、無効なパラメータという3種類のエラーがあります。私はこれらをもっと持っています。すべてのエラーリストをどのように抽出できますか?ご案内ください。
Aug 1 04:41:47 iibapp1 user:err|error IIB[17760440]: An HTTP error occurred. Aug 1 04:41:47 iibapp1 user:err|error IIB[17760440]: Socket Timed out'. Aug 1 04:41:47 iibapp1 user:err|error IIB[17760440]: Invalid Parameters'.
答え1
質問を完全に理解したかどうかはわかりません。たとえば、使用を妨げる要因は何ですかgrep
?努力する
grep "An HTTP error occurred." path/to/logfile
結果を適切なファイルにリダイレクトします。
答え2
この3つの文字列だけを見たい場合は、grep
次のようにリクエストしてください。
grep -E ": An HTTP error occurred\.\$|: Socket Timed out'\.\$|: Invalid Parameters'\.\$" input
私は各テキストがコロンスペース()で始まり、行の終わりになるように:
テキストを固定しました$
。$
検索テキストに一重引用符が表示されるため、grepパラメーターの周囲に二重引用符を使用してピリオドとエスケープを行いました。