翼度科技»论坛 云主机 LINUX 查看内容

Linux下“减速”查看日志的方法

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
Linux下“减速”查看日志的方法

需求场景

今天查看日志,有个需求,需要按照指定“速率”输出日志信息到终端屏幕上,方便查看。
这个需求日常应该也经常会碰到,比如以下两种情况:

  • 场景1:需要快速浏览下日志中有没有异常信息,但是又不想刷新太快来不及看;
  • 场景2:需要实时查看日志信息(从日志尾部开始,监控更新后日志),但是刷新太快,看不清楚;
解决方案

相关中文资料没有找到,在StackExchange找到了一些参考的方法,比较有借鉴意义。
以下是整理的几种比较可行的one-liner方法,供参考。
另外,根据我的试验,0.2秒是一个比较舒服的慢速打印的刷新速率。
  1. # 使用perl 每隔0.2秒打印一行
  2. ## 优点:Linux环境都有perl
  3. ## 缺点:大部分人不熟悉perl了,而且每次暂停都是调用系统sleep命令
  4. 场景1:perl -pe "system 'sleep .2'" log.txt
  5. 场景2:tail -f log.txt | perl -pe "system 'sleep .2'"
  6. # 使用awk 每隔0.2秒打印一行
  7. ## 优点:Linux环境都有awk,也比较好记忆
  8. ## 缺点:每次暂停都是调用系统sleep命令
  9. 场景1:awk '{print $0; system("sleep 0.2")}' log.txt
  10. 场景2:tail -f log.txt | awk '{print $0; system("sleep 0.2")}'
  11. # 使用ruby 每隔0.2秒打印一行
  12. ## 优点:使用ruby内置sleep函数;
  13. ## 缺点:Linux环境默认没有ruby
  14. 场景1:ruby -pe 'sleep 0.2' log.txt
  15. 场景2:tail -f log.txt | ruby -pe 'sleep 0.2'
复制代码
来源:https://www.cnblogs.com/Mr-Koala/p/16997442.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具