【发布时间】:2014-07-08 01:04:07
【问题描述】:
我正在寻找一种类似于
的工具tail -f /var/log/some.log | grep EVENT1 |rate
不断显示事件的速率。
【问题讨论】:
-
相对于整个日志的比率?我正在考虑
wc开始。
标签: bash unix command tail rate
我正在寻找一种类似于
的工具tail -f /var/log/some.log | grep EVENT1 |rate
不断显示事件的速率。
【问题讨论】:
wc 开始。
标签: bash unix command tail rate
tail -f /var/log/some.log | grep --line-buffered EVENT1 | pv -l > /dev/null
pv is a pipe monitor,输出stderr的统计信息; -l 将测量行而不是字节。
您需要在grep 调用中使用--line-buffered,这样它就不会缓冲较大的块,或者在一般情况下,您可以使用stdbuf 来调整缓冲。
【讨论】:
-l 到 pv,所以 +1
pvs。同样为您的示例输出 +1。
假设你的意思是事件/秒:
while read line; do echo -n "$(grep -c EVENT1 <<<"$line")"; done | pv >/dev/null
这使用pv,一个非常简单的实用程序。 sudo apt-get install pv 在大多数分布上(或 yum -i 等)
输出,当输入为例如(while true; do echo yes; sleep .1; done):
218B 0:00:22 [9,88B/s] [ <=> ]
使用的技术是用输出中的单个字节替换每个匹配行(即'1'),并仅以字节/秒为单位测量输出带宽:)
【讨论】: