我把它发布给超级用户但没有接受者:
https://superuser.com/questions/832578/how-to-grep-a-continuous-stream-with-paging
我想获取一个日志文件并过滤掉一些不相关的日志条目,比如INFO级别的条目.上面的Stack Overflow回答让我了解了一部分:
$tail -f php_error_log | grep -v INFO
我想要的下一篇文章就是在这个流中进行分页,例如less.较少F适用于连续流,但我不能将其应用于grep.我怎么能做到这一点?
自从发布了这个问题以来,我一直在研究这个问题并发现等待EOF出现的次数较少,并且在收到它之前一直挂起(source).这解释了为什么尝试跟随管道不起作用.我破解了一个简短的脚本来做我想做的事,非常优雅:
#!/bin/bash tail -f /data/tmp/test.txt | grep --line-buffered foo > /data/tmp/foo & pid=$! echo $pid sleep 1 less +F /data/tmp/foo kill $pid rm /data/tmp/foo
我相信它可以更优雅地做到这一点,也许是一个临时文件可以在没有直接交互的情况下自动清理.
解决方法
这个怎么样:
grep -V INFO php_error_log | less +F
或者,你可以运行multitail php_error_log,然后一旦multitail启动,按e并按照提示添加正则表达式进行过滤.为了随着时间的推移连续监视一个或多个日志文件,multitail是一个很好的解决方案.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。