1

iostatの出力は次のようになります。

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     2.40  0.01  3.92     0.16    25.28    12.95     0.05   12.81   6.58   2.58
sda1              0.00     0.00  0.00  0.00     0.00     0.00    25.86     0.00    6.57   5.38   0.00
sda2              0.00     2.40  0.01  3.92     0.16    25.28    12.95     0.05   12.81   6.58   2.58
sdb               0.00     0.00  0.00  0.00     0.00     0.00     8.00     0.00   30.37  20.16   0.00
VG00-LogVol00
               0.00     0.00  0.00  0.70     0.02     2.79     8.04     0.02   23.72   3.71   0.26
VG00-LogVol04
               0.00     0.00  0.00  4.31     0.03    17.26     8.01     0.07   16.74   4.32   1.87
VG00-LogVol03
               0.00     0.00  0.00  0.24     0.00     0.98     8.01     0.01   21.37   8.52   0.21
VG00-LogVol08
               0.00     0.00  0.00  0.00     0.00     0.00     8.00     0.00   14.03   2.31   0.00
VG00-LogVol01
               0.00     0.00  0.00  0.00     0.00     0.00     8.03     0.00  127.25   1.17   0.00
VG00-LogVol07
               0.00     0.00  0.00  0.00     0.00     0.00     8.00     0.00    2.42   1.72   0.00
VG00-LogVol06
               0.00     0.00  0.00  0.80     0.01     3.21     8.02     0.01   10.28   4.89   0.39
VG00-LogVol02
               0.00     0.00  0.01  0.26     0.10     1.04     8.52     0.01   52.88   6.01   0.16
VG00-LogVol05
               0.00     0.00  0.00  0.00     0.00     0.00     8.00     0.00    3.73   0.33   0.00

出力を解析しようとしましたが、「VG00-LogVol00」、「VG00-LogVol04」に到達すると、テキストの解析に問題が発生します。sedを使用して余分な行を削除する方法はありますか?

ありがとうございました

4

2 に答える 2

1

VG00が常に分割行で存在する場合は、次のように実行できます。

sed '/VG00/ { N; s/\n// }'

コピー/貼り付けされたテキストを使用して、次のように列を整列させます(GNUsedおよびBSDsed):

sed '/VG00/ { N; s/\n//; s/ \{5,\}/     /; }'

出力:

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     2.40  0.01  3.92     0.16    25.28    12.95     0.05   12.81   6.58   2.58
sda1              0.00     0.00  0.00  0.00     0.00     0.00    25.86     0.00    6.57   5.38   0.00
sda2              0.00     2.40  0.01  3.92     0.16    25.28    12.95     0.05   12.81   6.58   2.58
sdb               0.00     0.00  0.00  0.00     0.00     0.00     8.00     0.00   30.37  20.16   0.00
VG00-LogVol00     0.00     0.00  0.00  0.70     0.02     2.79     8.04     0.02   23.72   3.71   0.26
VG00-LogVol04     0.00     0.00  0.00  4.31     0.03    17.26     8.01     0.07   16.74   4.32   1.87
VG00-LogVol03     0.00     0.00  0.00  0.24     0.00     0.98     8.01     0.01   21.37   8.52   0.21
VG00-LogVol08     0.00     0.00  0.00  0.00     0.00     0.00     8.00     0.00   14.03   2.31   0.00
VG00-LogVol01     0.00     0.00  0.00  0.00     0.00     0.00     8.03     0.00  127.25   1.17   0.00
VG00-LogVol07     0.00     0.00  0.00  0.00     0.00     0.00     8.00     0.00    2.42   1.72   0.00
VG00-LogVol06     0.00     0.00  0.00  0.80     0.01     3.21     8.02     0.01   10.28   4.89   0.39
VG00-LogVol02     0.00     0.00  0.01  0.26     0.10     1.04     8.52     0.01   52.88   6.01   0.16
VG00-LogVol05     0.00     0.00  0.00  0.00     0.00     0.00     8.00     0.00    3.73   0.33   0.00
于 2013-02-19T09:54:10.763 に答える
0

私は行きます

sed -e '/^\([^[:space:]]\+\)$/{N;s/\n//;}'

デバイスラインに空白がないと仮定します。

しかし、iostatに影響を与えて、異なる出力を生成する可能性についても検討します。しかし、そこにある選択肢はわかりません。

于 2013-02-19T09:59:38.187 に答える