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

tail您可以通过管道输出sedgrep对其进行过滤。尝试:

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 是输入/输出的流版本。一直工作到第一个 EOF(因此脚本使用echo >> my_log_file添加到文件末尾但每个操作都有一个 EOF,从而停止 sed,tail 将等待来自外部的中断)

于 2013-11-06T13:11:07.407 回答