比较值Unix

时间:2016-05-03 03:07:48

标签: unix awk

我需要从下面的数据中提取 Kb / s 列值。

read:             ops/s            Kb/s           Kb/op         retrans         avg RTT (ms)    avg exe (ms)
                 11.888         919.508          77.347       -2 (-0.0%)          3.486           3.607

我正在尝试打印awk'{print $ 3}',但它将列名称打印为Kb / s,但打印值来自Kb / op。

Kb/s
77.340

你能告诉我如何获得所需的价值。即Kb / s = 919.452

-Thanks。

2 个答案:

答案 0 :(得分:2)

这是因为您的标头有一个额外的列与数据集进行比较。尝试:

awk '$2 ~/^[0-9]+/ {print $2}'

答案 1 :(得分:2)

你可以像@xvan评论那样“修复”输入:

sed 's/^read//' inputfile | awk '{print $2}'

或指示awk选择正确的字段:

awk '{print ($1=="read:")? $3 : $2}' inputfile