私は効率的にawkやsedでvmstatの出力を解析しようとしていますが、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のようなものではありません:-) –