1

我正在尝试从 iostat 输出中捕获一些数据:

# iostat  -m

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           9.92    0.00   14.17    0.01    0.00   75.90

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               6.08         0.00         0.04       2533     261072
dm-0              1.12         0.00         0.00       1290      30622
dm-1              0.00         0.00         0.00          1          0
dm-2              1.22         0.00         0.00          0      33735
dm-3              7.22         0.00         0.03       1213     196713

如何匹配“0.00”值?数字不是由制表符或恒定数量的空格分隔的。该值也可以是 3 位 0.00 或 4 位 45.00 等。

知道如何使用 bash 匹配它吗?

4

1 回答 1

2

试试这个,使用awk

iostat | awk 'NR==3 { print $5 }'

NR==3将在第三行运行,并$5打印第 5列。通过玩弄数字来验证是否选择了正确的列,即使用您的输出并且print $4应该产生0.01

于 2012-09-16T01:12:19.180 回答