我想从 mpstat 输出中检索 CPU 使用率/空闲百分比。cut
可以使用 bash 来检索此类详细信息,但我不知道分隔符应该是什么。
[idlecool@archbitch proc]$ mpstat | grep "all" | cut -d '$x' -f11
$x 应该是什么以便我可以跳过空格并选择与 %idle 相对应的值?
mpstat 的输出:
[idlecool@archbitch proc]$ mpstat
Linux 2.6.36-ARCH (archbitch) 01/14/11 _i686_ (2 CPU)
19:58:53 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
19:58:53 all 5.51 0.01 2.96 0.84 0.00 0.01 0.00 0.00 90.66
答案1
错误的工具。
mpstat | awk '$2 == "all" { print $11 }'
答案2
分隔符应该是空格。但是,mpstat
打印字段之间使用多个空格进行对齐。因此您还需要tr
压缩多个分隔符。
mpstat | grep -F all | tr -s ' ' | cut -d ' ' -f 11
注意:在这种情况下,grep 的 -F 标志不是必需的,但是,当模式不是正则表达式时,我习惯性地使用它,因为它可以显著加快对大输入的搜索速度。