パターンを含むすべてをgrepします。

パターンを含むすべてをgrepします。

次のように例外を含むログファイルがあるとします。

java.lang.NullPointerException blabla
ABC.Exception blalabbla
dogchacecat.Exception yadayada

「例外」を含め、最初から最後まですべての行を出力したい。

希望の出力:

java.lang.NullPointerException
ABC.Exception
dogchacecat.Exception

GNUツール(grep、awk、sed)を使用してこれをどのように実行できますか?ありがとうございます!

ベストアンサー1

使用grep:

grep -o '.*Exception' file

-o、--matchのみ
行の一致部分のみを印刷します。

'.*Exception'
これは、「Exception」という単語が出るまで、すべての文字(行終端を除く)のゼロからの無限の出現と一致します。


あなたのコメントで言及した動作(前のスペースExceptionまで文字列を取得して含む)を取得するには、拡張またはPerl正規表現を使用して\S制御文字(スペース以外の文字)を使用できます。

grep -oE '\S+Exception' file

おすすめ記事