Domanda

iostat -xzN 5 | grep "^vg\|^Dev" produces output like:

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
vg01-root         0.00     0.00    0.00    0.20     0.00     1.60     8.00     0.00    3.00   3.00   0.06
vg05-vz           0.00     0.00    0.00    0.60     0.00     4.80     8.00     0.01    9.00   9.00   0.54
vg03-vz           0.00     0.00  281.00  128.40  5625.60  1027.20    16.25    42.35  103.54   2.44  99.94
vg02-vz2a         0.00     0.00   28.20   11.40  1416.00   112.00    38.59     0.79   19.84   5.99  23.72
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
vg05-vz           0.00     0.00    0.00    8.60     0.00  7876.80   915.91     0.48   55.70   3.40   2.92
vg03-vz           0.00     0.00  308.20   76.20 10376.00  4433.60    38.53    11.50   30.00   2.60 100.00
vg02-vz2a         0.00     0.00   27.80   24.80   604.80   198.40    15.27     0.49    9.39   4.89  25.72
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
vg05-vz           0.00     0.00    0.00    1.80     0.00   585.60   325.33     0.01    5.78   4.00   0.72
vg03-vz           0.00     0.00  323.20   49.00  9283.20   497.60    26.28     3.48    9.40   2.69  99.98
vg02-vz2a         0.00     0.00   40.20   55.80  2644.80   483.20    32.58     1.14   11.86   4.12  39.58

I'd like this to display like top i.e. clear screen and start from the top on each iteration. I'm thinking if there was a way to pipe this through sed/awk/perl/whatever and every time you get ^Dev push a tput clear.

But how?

È stato utile?

Soluzione

Have you considered iotop instead?

That said, it shouldn't be too hard to hurl some rough Perl.

#!/usr/bin/perl

# Adjust options to taste.
open(IOSTAT, "iostat -d 5 |") || die;

$| = 1;
while(<IOSTAT>) {
    if (/^Dev/) { system "clear"; print; }
    if (/^vg/) { print; }
}

Altri suggerimenti

Following up on Jeffrey Hantin's response, here's a one-liner version:

S_COLORS=always iostat -hz 5 | perl -pe '/avg/ && system(q[clear])'

Just let watch do the work for you:

watch -n<interval> iostat`
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top