• 締切済み

vmstatコマンド cpuのidle結果の自動取得に関して

vmstatコマンド cpuのidle結果の自動取得に関して Linuxのcrontabでシェルファイルを実行し、 その中でvmstatコマンドを実行、出てきた結果のCPU(idleの値)のみを取得したいのですが、 何か方法はありますでしょうか。 # vmstat 1 3 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 42944 21640 38644 839040 0 0 11 13 254 23 0 0 100 0 0 0 42944 21640 38644 839040 0 0 0 0 254 10 0 0 100 0 0 0 42944 21640 38644 839040 0 0 0 0 253 25 0 0 100 0 上記の例でいうと、3行出ている結果それぞれ、 行末から2個目の値(100)を取得(変数に格納など)したいと考えております。 値と値間は半角スペースで区切られ、出力する値の桁数によって半角スペースの個数が異なります。 ただし、値間に必ず1つは半角スペースは入ります。 半角正規表現を使って試みたのですが、 上述の取得したい値が取れません。 取る方法を教えていただけないでしょうか。 正規表現にこだわっているわけではないので、 方法は問いません。 (一般的にはこうやる、というものがありがたいですが・・・) よろしくお願いします。

みんなの回答

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

vmstat 1 3 | tail -n 3 | awk '{print $15}' で、とりあえず数字が列挙されます。 あとは…for等で変数に取り込むとか… # vmstatの実行が終わってから処理されねことになりますが。

okamokkori
質問者

お礼

ご回答ありがとうございます。 この取得方法で問題ありません。 awkコマンドを使う発想がありませんでした。 Linux初心者ですが、もっと勉強が必要ですね。

関連するQ&A