FORMAT output

Input File

 
Symmetrix ID          : 000192601507
Masking View Name     : TS00P22_13E_1
Last updated at       : 05:10:18 AM on Tue Mar 22,2011
Initiator Group Name  : 10000000c960b9cd
   Host Initiators
     {
       WWN  : 10000000c960b9cd
       WWN  : 10000000c960b9dd
     }
Port Group Name       : 10000000c960b9cd_13E_1
   Director Identification
     {
       FA-13E:1
       FA-06E:1
     }
Storage Group Name    : 10000000c960b9cd_13E_1
Sym Dev                                 Host
Name    Dir:P  Physical Device Name      Lun  Attr  Cap(MB)
------  -----  -----------------------  ----  ----  -------
0149    13E:1  Not Visible                 1              3
        06E:1  Not Visible                 1            
014A    13E:1  Not Visible                 2              3
        06E:1  Not Visible                 2       
014B    13E:1  Not Visible                 3              3
        06E:1  Not Visible                 3 
014C    13E:1  Not Visible                 4              3
        06E:1  Not Visible                 4
                                                    -------
Total Capacity                                           12
Masking View Name     :TS00P22_4E_1
Last updated at       : 05:10:26 AM on Tue Mar 22,2011
Initiator Group Name  : 10000000c960bc81
   Host Initiators
     {
       WWN  : 10000000c960bc81
     }
Port Group Name       : 10000000c960bc81_4E_1
   Director Identification
     {
       FA-4E:1
     }
Storage Group Name    : 10000000c960bc81_4E_1
Sym Dev                                 Host
Name    Dir:P  Physical Device Name      Lun  Attr  Cap(MB)
------  -----  -----------------------  ----  ----  -------
0149    04E:1  Not Visible                 1              3
014A    04E:1  Not Visible                 2              3
014B    04E:1  Not Visible                 3              3
014C    04E:1  Not Visible                 4              3
                                                    -------
Total Capacity                                           12
 

Output needed

Symmetrix ID,DEV,Storage Group Name,Port Group Name,Initiator Group Name,Masking View Name,Port,WWN
000192601507,0149,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1_06E:1,10000000c960b9cd_10000000c960b9dd
000192601507,014A,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1_06E:1,10000000c960b9cd_10000000c960b9dd
000192601507,014B,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1_06E:1,10000000c960b9cd_10000000c960b9dd
000192601507,014C,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1_06E:1,10000000c960b9cd_10000000c960b9dd
000192601507,0149,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,TS00P22_4E_1,04E:1,10000000c960bc81
000192601507,014A,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,TS00P22_4E_1,04E:1,10000000c960bc81
000192601507,014B,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,TS00P22_4E_1,04E:1,10000000c960bc81
000192601507,014C,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,TS00P22_4E_1,04E:1,10000000c960bc81

I have a script which gets me most of the information except the WWN( the last column) records

 
 nawk '
BEGIN { OFS=",";
  print "Symmetrix ID,DEV,Storage Group Name,Port Group Name,Initiator Group Name,Masking View Name,Port" 
  split("SymmetrixID:,StorageGroupName,PortGroupName,InitiatorGroupName,MaskingViewName", T, ","); 
  for(i in T) GRP[T]=i; }
 ($1$2$3 in GRP) { val=$1$2$3; gsub(".*:", "", $0); ID[GRP[val]]=$1 }
/^ *---/ {getdev=0}
getdev&&/^   /  { print ID[1],dev,ID[2],ID[3],ID[4],ID[5],$1; next }
getdev { dev=$1;  print ID[1],dev,ID[2],ID[3],ID[4],ID[5],$2 } 
/^------/ { getdev=1 }' input
 

I get this output

Symmetrix ID,DEV,Storage Group Name,Port Group Name,Initiator Group Name,Masking View Name,Port
000192601507,0149,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1_06E:1
000192601507,014A,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1_06E:1
000192601507,014B,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1_06E:1
000192601507,014C,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1_06E:1
000192601507,0149,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,TS00P22_4E_1,04E:1
000192601507,014A,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,TS00P22_4E_1,04E:1
000192601507,014B,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,TS00P22_4E_1,04E:1
000192601507,014C,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,TS00P22_4E_1,04E:1

Somehow I cannot figure out how to add the WWN's .... the column format is WWN1_WWN2_* if more than one or WWN1 if only one

Thanks

Not too elegant - mayhap the printing should be done the way you implemented it - but it seems to give what you requested:

awk     'BEGIN          {print "Symmetrix ID,DEV,Storage Group Name,Port Group Name,Initiator Group Name,Masking View Name,Port,WWN"
                         T="SymmetrixID: _ StorageGroupName PortGroupName InitiatorGroupName MaskingViewName"
                         nt=split (T, X)}

                        {val=$1$2$3}
         T ~ val        {ID[val] = $NF; next}
         $1 ~ /^WWN/    {WWN=WWN DELIM $NF; DELIM="_"; next}
         val ~ /SymDev/ {getline; getline; getline
                         while ($1 !~ /-/)      {L=($0~/^ /); ID[X[2]]=L?ID[X[2]]:$1;
                                                 for (i=1; i<=nt; i++) printf "%s,", ID[X]
                                                 print (L?$1:$2) "," WWN
                                                 getline
                                                }
                         WWN=DELIM=""
                        }
        ' file
Symmetrix ID,DEV,Storage Group Name,Port Group Name,Initiator Group Name,Masking View Name,Port,WWN
000192601507,0149,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1,10000000c960b9cd_10000000c960b9dd
000192601507,0149,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,06E:1,10000000c960b9cd_10000000c960b9dd
000192601507,014A,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1,10000000c960b9cd_10000000c960b9dd
000192601507,014A,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,06E:1,10000000c960b9cd_10000000c960b9dd
000192601507,014B,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1,10000000c960b9cd_10000000c960b9dd
000192601507,014B,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,06E:1,10000000c960b9cd_10000000c960b9dd
000192601507,014C,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,13E:1,10000000c960b9cd_10000000c960b9dd
000192601507,014C,10000000c960b9cd_13E_1,10000000c960b9cd_13E_1,10000000c960b9cd,TS00P22_13E_1,06E:1,10000000c960b9cd_10000000c960b9dd
000192601507,0149,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,:TS00P22_4E_1,04E:1,10000000c960bc81
000192601507,014A,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,:TS00P22_4E_1,04E:1,10000000c960bc81
000192601507,014B,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,:TS00P22_4E_1,04E:1,10000000c960bc81
000192601507,014C,10000000c960bc81_4E_1,10000000c960bc81_4E_1,10000000c960bc81,:TS00P22_4E_1,04E:1,10000000c960bc81
1 Like