0

I want to retrieve the cpu usage/free percentage from mpstat output. The bash cut can be used to retrieve such details but i dont know what should be the delimiter viz.

[idlecool@archbitch proc]$ mpstat | grep "all" | cut -d '$x' -f11

what should be $x so that i can skip white spaces and select value corresponding to %idle?

Output of 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

2 Answers 2

2

Wrong tool.

mpstat | awk '$2 == "all" { print $11 }'
5

The delimiter should be space. However, mpstat uses multiple spaces between printed fields for alignment. Therefore you also need tr to squeeze multiple delimiters.

mpstat | grep -F all | tr -s ' ' | cut -d ' ' -f 11

Note: -F flag for grep is not essential in this case, though, I habitually use it whenever the pattern is not a regex as it significantly speeds up searches on big inputs.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .