【问题标题】:awk + can't cut the field from iostatawk + ​​无法从 iostat 剪切字段
【发布时间】:2020-02-24 09:10:19
【问题描述】:

当我执行以下操作时,我们会得到输出

iostat -x 1|grep sdb
sdb               0.00    13.65    4.17   11.65   113.72   991.55   139.74     0.24   15.39    3.27   19.73   0.46   0.72
sdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

现在我想剪切第二个字段,但现在我们没有得到输出

[root@linux1 ~]#   iostat -x 1|grep sdb | awk '{print $2}'

同样,管道没有输出,

iostat -x 1|grep sdb | more

为什么?

【问题讨论】:

  • iostat -x 1 | awk '/sdb/{print $2}' 或更具体的iostat -x 1 | awk '$1 == "sdb"{print $2}' 会做

标签: linux bash perl awk iostat


【解决方案1】:

请您尝试关注一下。

iostat -x 1 | grep --line-buffered "sdb" | awk '{print $2}'

或者只有awk

iostat -x 1 | awk '/sdb/{print $2;fflush();}'

iostat -x 1 | awk '$1=="sdb"{print $2;fflush();}'

来自man awk页面:

fflush([file]) 刷新所有与打开相关的缓冲区 输出文件或管道文件。如果文件丢失或为空 字符串,然后刷新所有打开的输出文件和管道。

【讨论】:

    猜你喜欢
    • 2021-02-21
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 2011-06-14
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    相关资源
    最近更新 更多