加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何使用分页来连续流

发布时间:2020-12-14 02:34:00 所属栏目:Linux 来源:网络整理
导读:我把它发布给超级用户但没有接受者: https://superuser.com/questions/832578/how-to-grep-a-continuous-stream-with-paging 我想获取一个日志文件并过滤掉一些不相关的日志条目,比如INFO级别的条目.上面的Stack Overflow回答让我了解了一部分: $tail -f p
我把它发布给超级用户但没有接受者: 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是一个很好的解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读