【发布时间】:2013-07-10 19:08:50
【问题描述】:
我正在查看一个带时间戳的日志文件。日志每隔一段时间就会写一条消息,“OK”
如何捕获每秒写入的“OK”数?例如。输出喜欢
10.5 OK/sec
9 OK/sec
20 OK/sec
日志很大,对整个文件执行 grep 是不切实际的。我从
开始tail -f my.log | grep OK
这很有帮助,但并不能完全让我了解价格。
谢谢!
下面的第一个解决方案很棒(其他也很好),我稍微修改了一下,这就是我想出的
tail -f my.log | perl -lne 'if(/(\d+:\d+:\d+).*OK/) { print $1; }'| uniq -c
【问题讨论】:
-
由于缓冲,计算一秒钟内写入的 OK 数可能会产生很大的误导。文件没有时间戳吗?
-
它有时间戳,是的
标签: linux bash logging monitoring