我試圖有效地解析vmstat輸出最好在awk或sed中,它也應該在linux和hp-ux上工作。例如,我想從下面的輸出切cpu空閒%(「92」,在這種情況下):解析vmstat輸出的有效方法
$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
11 0 385372 101696 61704 650716 0 1 5 9 6 12 5 2 92 0
不幸vmstat的輸出可以在不同的Linux發行版和HP-UX不同,也列可以在變化長度並且可以以其他順序呈現。
我試着寫一些不錯的awk oneliner,但最終與Python的解決方案結束:
$ vmstat | python -c 'import sys; print dict(zip(*map(str.split, sys.stdin)[-2:])).get("id")'
92
你知道更好的方法來分析提到的輸出,從而獲得所需的列名的數值?
python oneliners不像perl中的東西那麼吸引人:-) –