I have this system output 

 

--- Logical volumes ---

LV Name                     /dev/vg00/lvol1

VG Name                     /dev/vg00

LV Permission               read/write

LV Status                   available/syncd

Mirror copies               1

Consistency Recovery        MWC

Schedule                    parallel

LV Size (Mbytes)            512

Current LE                  64

Allocated PE                128

Stripes                     0

Stripe Size (Kbytes)        0

Bad block                   off

Allocation                  strict/contiguous

IO Timeout (Seconds)        default

 

And I have this multiple lvols populated into 2 arrays like printed like
so:

 

Mirror copies               1

Mirror copies               1

Mirror copies               1

Mirror copies               1

Mirror copies               1

Mirror copies               1

Mirror copies               1

Mirror copies               1

 

second array

LV Name                     /dev/vg00/lvol3

LV Name                     /dev/vg00/lvol1

LV Name                     /dev/vg00/lvol9

LV Name                     /dev/vg00/lvol7

LV Name                     /dev/vg00/lvol8

LV Name                     /dev/vg00/lvol6

LV Name                     /dev/vg00/lvol5

LV Name                     /dev/vg00/lvol4

 

But what I need to do is get rid of "LV Name" yet keep the
/dev/vg00/lvol entries. 

Problem is this data is on one line.

 

Here is my code:

I tried an push @mir2 => (unless /lv\d+/i, `lvdisplay $lv`); in place of
the third push

But that gave me an error: Uncaught exception from user code:

       syntax error at HPUX_verify_system.pl line 127, near "(unless"

 

my @lvs;

my @lvaray = qx(bdf);

foreach (@lvaray) {

        if (/(?:)vg00/) {

           push @lvs, (split)[0]

        }

    }

 

    my (%hash,@mir,@mir2)    = ();

    my ($key2,$value2)       = 0;

    foreach my $lv (@lvs) {

        push @mir => (grep /mirror/i, `lvdisplay $lv`);

        push @mir2 => (grep /lvol\d+/i, `lvdisplay $lv`);

        #chomp (@mir,@mir2);

    }

 

    #%hash = (@mir,@mir2);

 

    #while (($key2,$value2) = each %hash) {

    #   print "$key2\t:$value2";

    #}

 

print @mir; print "\nsecond array\n";

print @mir2;

 

#($key1,$value1) = split/=/;

#$cc{$key1}= $value1;

 

Thanks

Derek

 

 

Derek Bellner Smith

Unix Systems Engineer

Cardinal Health Dublin, Ohio

614-757-5000 Main

614-757-8075 Direct

614-757-8120 Fax

[EMAIL PROTECTED]

 


Cardinal Health -- Working together. For life. (sm)
_________________________________________________

This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information. If you have received it in 
error, please notify the sender immediately and delete the original. Any other 
use of the email by you is prohibited.

Dansk - Deutsch - Espanol - Francais - Italiano - Japanese - Nederlands - Norsk 
- Portuguese - Svenska: www.cardinalhealth.com/legal/email

Reply via email to