FORMAT output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting FORMAT output
# 1  
Old 08-30-2014
FORMAT output

Input File

Code:
 
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


Code:
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

Code:
 
 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]]=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
Code:
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

Last edited by Franklin52; 08-30-2014 at 02:28 PM.. Reason: Adding code tags
# 2  
Old 08-30-2014
Not too elegant - mayhap the printing should be done the way you implemented it - but it seems to give what you requested:
Code:
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[i]]
                                                 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


Last edited by RudiC; 08-30-2014 at 05:57 PM..
This User Gave Thanks to RudiC For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Format output

Hello Team, I have the following details in a txt file (please note the spaces and tabs) C1 C2 C3 ------------------ --------------- ------------- abc, xyz 2 8 pqr 2 ... (9 Replies)
Discussion started by: H squared
9 Replies

2. Shell Programming and Scripting

Format with output

I have written some scripts that resulted in the table below (Column1 is ITEM, Column2 is Group, Column3 is Category and Column4 is Quantity) but I want the output in another format: Input: K123 X CATA 3 K123 Y CATA 4 K123 Z CATA 2 K123 X CATB 5 K123 Y CATB 2 K123 Z CATB 2 B65 M CATB... (7 Replies)
Discussion started by: aydj
7 Replies

3. Shell Programming and Scripting

Script to generate Excel file or to SQL output data to Excel format/tabular format

Hi , i am generating some data by firing sql query with connecting to the database by my solaris box. The below one should be the header line of my excel ,here its coming in separate row. TO_CHAR(C. CURR_EMP_NO ---------- --------------- LST_NM... (6 Replies)
Discussion started by: dani1234
6 Replies

4. UNIX for Dummies Questions & Answers

Format Output

Hello Learned People, Good evening. I have absolutely no idea as how to do this & I admit that I do not know anything in unix. I must learn this one of these days. Im a help desk incharge today & someone gave me this file to be formatted & I have a file like this. vi NewFile.txt 232... (8 Replies)
Discussion started by: RTAN
8 Replies

5. Shell Programming and Scripting

Dynamic output file generation using a input text file with predefined output format

Hi, I have two files , one file with data file with attributes that need to be sent to another file to generate a predefined format. Example: File.txt AP|{SSHA}VEEg42CNCghUnGhCVg== APVG3|{SSHA}XK|"password" AP3|{SSHA}XK|"This is test" .... etc --------- test.sh has... (1 Reply)
Discussion started by: hudson03051nh
1 Replies

6. UNIX for Advanced & Expert Users

format df -k output

i am running df -k command on aix machine. i got the output like this. i need to store into file and send that file into microsoft excel.i need to allign properly. Filesystem 512 blocks Free % Used Iused %Iused Mounted on /dev/hd4 262144 126488 52% ... (9 Replies)
Discussion started by: wintercoat
9 Replies

7. Shell Programming and Scripting

Help in Getting specified output format

Hi all, I have input text file of this format objectclass:endeavor pid:12345 postalAddress:379 PROSPECT ST street:STE B l:TORRINGTON st:CT postalCode:067905238 telephoneNumber:9999999999... (2 Replies)
Discussion started by: pintoo
2 Replies

8. Shell Programming and Scripting

How to format output

Dear all, I have written a program which access database and displays the values returned by the query . There are 10 columns to be displayed in one row. But am ending with 5 lines displayed on 1st line and the next 5 in the 2nd line. Ex : 21608 10-20-2007 148 Al's Appliance... (7 Replies)
Discussion started by: uday542
7 Replies

9. Shell Programming and Scripting

capturing output from top and format output

Hi all, I'd like to capture the output from the 'top' command to monitor my CPU and Mem utilisation.Currently my command isecho date `top -b -n1 | grep -e Cpu -e Mem` I get the output in 3 separate lines.Tue Feb 24 15:00:03 Cpu(s): 3.4% us, 8.5% sy .. .. Mem: 1011480k total, 226928k used, ....... (4 Replies)
Discussion started by: new2ss
4 Replies

10. UNIX for Dummies Questions & Answers

ls output format

below is the output is ls -l -rw-r--r-- 1 tonyt staff 3212 Apr 17 1999 file1 -rw-r--r-- 1 tonyt staff 4541 Mar 3 21:08 file2 why the date format is not the same? (6 Replies)
Discussion started by: tonyt
6 Replies
Login or Register to Ask a Question