我试图从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匹配它吗?
答案 0 :(得分:2)
尝试使用awk
:
iostat | awk 'NR==3 { print $5 }'
NR==3
将在第三个行上运行,而$5
会打印 5 列。通过使用数字来验证是否正在选择正确的列,即使用您的输出,print $4
应该产生 0.01 。