zoukankan      html  css  js  c++  java
  • grep 和 awk的buffer

    当使用 

    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
    Python脚本1
    Python基础24
    Python基础23(习惯)
    01-Spring(1)
    12-Shell(2)
    11-Shell(1)
    10-搭建EE环境
    09-常用指令(3)
    08-常用指令(2)
  • 原文地址:https://www.cnblogs.com/cobbliu/p/4954146.html
Copyright © 2011-2022 走看看