我正在尝试查看在任意时间范围内在远程服务器上foo bar
出现了多少次/var/log/foo.log
,但是到目前为止我没有尝试过。
我已经有了一个计时器脚本,可以用来跟踪自开始拖尾以来已经有多长时间了/var/log/foo.log
,现在我想要一种方法来判断foo bar
拖尾输出中出现了多少次。
我搜索了google,但在搜索结果的前10页中没有发现任何相关信息。
这是我尝试过的令人沮丧的结果:
## works on local machine, but doesn't work as expected on remote
tail -f /var/log/foo.log | grep foo\ bar | sed '='
## works on local, but not remote
tail -f /var/log/foo.log | grep foo\ bar | cat -n -
## works on local, but not remote
tail -f /var/log/foo.log | grep foo\ bar | awk -F'\n' '{printf "[%d]> ", NR; print $1}'
我什至试图编写一个类似sed的脚本tail -f
,但是我对此没有限制。
注意
远程服务器正在运行较旧版本的coreutils,并且可以选择升级,但绝不是所需的解决方案。
--line-buffered
选择grep
。或者tail -f ... | awk '/foo bar/{print ++n, $0}'