4

command の出力からいくつかのフィールドを抽出したいxentoptopコマンドのようなものです。CPU 使用率、メモリ使用率などをリアルタイムで継続的に表示します。このコマンドをバッチ モードで実行すると、次のような出力がファイルに表示されます。

      NAME  STATE   CPU(sec) CPU(%)     MEM(k) MEM(%)  MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS   VBD_OO   VBD_RD   VBD_WR  VBD_RSECT  VBD_WSECT SSID
  Domain-0 -----r      13700   33.0    7127040   85.9   no limit       n/a     8    0        0        0    0        0        0        0          0          0    0
     fed18 -----r        738  190.6    1052640   12.7    1052672      12.7     3    1   259919     8265    1        0    82432    22750    2740966    1071672    0

そしてこれを実行する

cat file| tr '\r' '\n' | sed 's/[0-9][;][0-9][0-9][a-Z]/ /g' | col -bx | awk '{print $1,$4,$6}'

このファイルで私が欲しいものを私に与えます

NAME CPU(%) MEM(%)
Domain-0 33.0 85.9
fed18 190.6 12.7

しかし、私のスクリプトは xentop のリアルタイム出力では機能しません。反復オプションを 1( ) に設定して xentop を 1 回だけ実行しようとしましたxentop -i 1が、機能しません。xentop の出力を "not" リアルタイムとしてスクリプトにパイプするにはどうすればよいですか?

4

2 に答える 2