Как установить несколько пробелов (например, табуляции) в качестве разделителей в bash `cut`
Я хочу получить процент использования / свободного процессора из вывода mpstat. Баш cut
может быть использован для получения таких деталей, но я не знаю, что должно быть разделителем, а именно.
[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 ответа
Неправильный инструмент.
mpstat | awk '$2 == "all" { print $11 }'
Разделитель должен быть пробелом. Тем не мение, mpstat
использует несколько пробелов между печатными полями для выравнивания. Поэтому вам также нужно tr
сжать несколько разделителей.
mpstat | grep -F all | tr -s ' ' | cut -d ' ' -f 11
Примечание: -F флаг для grep в данном случае не является обязательным, однако я обычно использую его всякий раз, когда шаблон не является регулярным выражением, поскольку он значительно ускоряет поиск на больших входах.