0

私は現在、ログを細かく追跡しています

tail -f my_log_file

ログ ファイルに追加された各行は次のようになります。

blaaa blaaa something blaa blaa response_time 100ms blaa blaaaaa
blaaa blaaa something blaa blaa response_time 150ms blaa blaaaaa
blaaa blaaa something blaa blaa response_time 90ms blaa blaaaaa

私が本当に望んでいるのは、このログ ファイルを追跡できるようにすることですが、表示のみです。

response_time 100ms
response_time 150ms
response_time 90ms

「テール」でこれを行う方法はありますか?ありがとう!

4

3 に答える 3

1

tailthroughの出力をパイプして、フィルタリングすることができsedますgrep。試す:

tail -f my_log_file | sed -e 's/.*\(response_time \S\+\).*/\1/p'
于 2013-11-06T10:55:31.833 に答える
1

これはあなたのために働くはずです:

tail -f my_log_file | grep -o 'response_time [0-9]+ms'
于 2013-11-06T10:56:36.510 に答える
0
sed -u 's/.* \(response_time [0-9]\{1,\}ms\) .*/\1/" my_log_file

-u は Input/Output のストリーム バージョンです。最初の EOF まで動作します (したがって、スクリプトecho >> my_log_fileはファイルの末尾に追加を使用しますが、各アクションで EOF を使用して sed を停止し、テールは外部からの割り込みを待ちます)

于 2013-11-06T13:11:07.407 に答える