Я хочу получить процент использования / свободного процессора из вывода mpstat. cut bash может быть использован для получения таких деталей, но я не знаю, что должно быть разделителем, а именно.

[idlecool @ archbitch proc] $ mpstat | grep "все" | 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

2 ответа2

5

Разделитель должен быть пробелом. Однако mpstat использует несколько пробелов между печатными полями для выравнивания. Поэтому вам также нужно tr чтобы сжать несколько разделителей.

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

Примечание: -F флаг для grep в данном случае не является обязательным, однако я обычно использую его всякий раз, когда шаблон не является регулярным выражением, поскольку он значительно ускоряет поиск на больших входах.

2

Неправильный инструмент.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .