博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
grep 和 awk的buffer
阅读量:6481 次
发布时间:2019-06-23

本文共 404 字,大约阅读时间需要 1 分钟。

当使用 

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)}''

转载地址:http://ndfuo.baihongyu.com/

你可能感兴趣的文章
qml实现窗口的拖拽效果
查看>>
Centos安装Mysql
查看>>
android Looper 非UI线程中更新UI
查看>>
js if语句多个条件判断
查看>>
AVPacketList结构体和AVPacketQueue结构体
查看>>
PHP操作redis详细讲解
查看>>
Android学习笔记(一)
查看>>
Java 提高篇(一)
查看>>
虚拟化学习笔记
查看>>
浏览器的兼容性问题
查看>>
我的友情链接
查看>>
今天真的搬走了
查看>>
PC散热风扇之研究一:风扇种类介绍
查看>>
关于Session和Cookie简单实例
查看>>
App框架实现———dagger2
查看>>
zabbix 微信报警
查看>>
rsync命令参数及SSH自定义端口远程拷贝
查看>>
通过SQL Server 2008数据库复制实现数据库同步备份
查看>>
HttpClient做接口测试时自定义参数长度
查看>>
PyCharm2017激活方法
查看>>