vmstatの出力を効率的に解析しようとしています。できればawkまたはsedで、Linuxとhp-uxの両方で機能するはずです。たとえば、次の出力からCPUアイドル%(この場合は「92」)をカットしたいと思います。
$ 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によって異なる可能性があります。また、列の長さが異なる可能性があり、他の順序で表示される可能性もあります。
私はいくつかの素敵なawkonelinerを書き込もうとしましたが、最終的にはpythonソリューションで終わりました:
$ vmstat | python -c 'import sys; print dict(zip(*map(str.split, sys.stdin)[-2:])).get("id")'
92
上記の出力を解析して、目的の列名の数値を取得するためのより良い方法を知っていますか?