当使用

tail -f test.log | grep "mode" | awk '{print $5}'命令

或者 tail -f test.log | awk '/mode/ {print $5}'的时候,如果test.log中满足模式mode的数据很少,会发现即便是test.log中新出现了满足mode的行,但是上面两个命令都没有任何输出。

原因在于grep和awk处于效率的考量,会缓存一批数据再输出到标准输出。

grep的--line-buffered选项和awk的fflush(stdout)命令可以使得grep和awk不缓存数据。如:

tail -f test.log | grep --line-buffered "mode" | awk '{print $5}'

tail -f test.log | awk '/mode/ {print $5,$6; fflush(stdout)}''

最新文章

  1. iOS开发中的权限
  2. Spring入门_04_注解注入
  3. Python多线程(1)——介绍
  4. MYSQL 编码方式 ------导入 .sql 文件 报编码错误
  5. Js获取当前日期时间及时间相关操作
  6. Java Day 08
  7. MATLAB绘图与图形处理
  8. APCS
  9. 基于Karma和Jasmine的AngularJS测试
  10. Namespace declaration statement has to be the very first
  11. mysql 时间戳按指定格式(Y-m-d)取出
  12. 记一次kali和win8.1的双系统修复!!
  13. Linux系统安全需要注意的一些问题
  14. java之内部类
  15. macOS下配置scapy环境
  16. windows中通过bat批处理打开exe文件
  17. itcast-spring-三大框架整合
  18. CVPR 2019 | 用异构卷积训练深度CNN:提升效率而不损准确度
  19. [JLOI2013]删除物品
  20. 基于Python自动发送QQ群消息

热门文章

  1. 如何mount一个Isilon的NFS的file share?
  2. Path Sum leetcode java
  3. Google Guava新手教程
  4. 使用新版SDK不想跳转微博客户端能否直接发送微博分享?
  5. Eclipse Maven项目报错1之JAVA编译版本报错
  6. Puppetmaster高可用和可扩展的方案设计
  7. ORACLE 执行计划
  8. beanshell
  9. GB2312码表
  10. centos7默认安装没有连接到网络