ログファイルから一部の行を分離して画面に印刷する

ログファイルから一部の行を分離して画面に印刷する

5分ごとにレコード数を更新するファイルがある場合、出力は次のようになります。

timestamp name of log file dataset record count 8600

timestamp name of log file dataset record count 8610

dataset record count XXXXこの文字列を効率的に分離して画面に印刷するにはどうすればよいですか?

ベストアンサー1

1つの方法はawkを使用することです。

awk 'match($0, "dataset record count [[:digit:]]+") { print substr($0, RSTART, RLENGTH) }' input

またはパイプで接続してください:

command | awk 'match($0, "dataset record count [[:digit:]]+") { print substr($0, RSTART, RLENGTH) }'

または許可されているgrepを使用してください-o

grep -Eo 'dataset record count [[:digit:]]+' input

またはパイプで接続してください:

command | grep -Eo 'dataset record count [[:digit:]]+'

おすすめ記事