parsing


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers parsing
# 8  
Old 03-27-2007
You are great Jacoden..... I tested it and it's working now.... How i wish i know the same thing as you... thank you very much for the help. very appreciated.
# 9  
Old 03-27-2007
follow up question.....

the script shows that it will create up to 2 files.... can we make it more flexible? i mean, it there is additional file to be created........ maybe up to 100 files. where can i put the foreach?
# 10  
Old 03-27-2007
Quote:
Originally Posted by tungaw2004
follow up question.....

the script shows that it will create up to 2 files.... can we make it more flexible? i mean, it there is additional file to be created........ maybe up to 100 files. where can i put the foreach?
Code:
cat filename | tr -d "( )" | tr "=>" ", " | awk -F"," '{ if($2=="0") head=$3" ="; if ($2=="1") print head $3>"file1";if ($2=="2") print  head $3>"file2"; 
if( condition1 ) print "..." > "file3"
if( condition2 ) print "..." > "file4"
if( condition3 ) print "..." > "file5"
if( condition4 ) print "..." > "file6"
.....
}'

You can create as many files you need.
# 11  
Old 03-27-2007
based on the condition,

in the if block of the awk you could add a foreach block
to create as many files as needed

Smilie
# 12  
Old 03-27-2007
anbu,

i already did your suggestion... i know, it will work that way, but i want to use the foreach command and the get the first value of the record on the file to be the filename.
# 13  
Old 03-27-2007
Code:
#!/usr/bin/ksh

while read LINE
do
  echo ${LINE} | grep heading > /dev/null 2>&1
  if [ ${?} -eq 0 ]
  then
    INDEX=1
    HEAD=`echo ${LINE} | cut -f2 -d'>'`
  else
    VALUE=`echo ${LINE} | cut -f2 -d'>'`
    echo "${HEAD}=${VALUE}" >> file${INDEX}
    ((INDEX=${INDEX}+1))
  fi
done < file

Code:
# cat file
( 0 , 0 ) =>heading1
( 0 , 1 ) =>value1.1a
( 0 , 2 ) =>value2.1a
( 0 , 2 ) =>value3.1a
( 1 , 0 ) =>heading2
( 1 , 1 ) =>value1.1b
( 1 , 2 ) =>value2.1b
( 2 , 0 ) =>heading3
( 2 , 1 ) =>value1.1c
( 2 , 2 ) =>value2.1c
( 2 , 2 ) =>value3.1c
( 2 , 2 ) =>value4.1c
( 3 , 0 ) =>heading4
( 3 , 1 ) =>value1.1d
( 3 , 2 ) =>value2.1d

Code:
# cat file1
heading1=value1.1a
heading2=value1.1b
heading3=value1.1c
heading4=value1.1d

Code:
# cat file2
heading1=value2.1a
heading2=value2.1b
heading3=value2.1c
heading4=value2.1d

Code:
# cat file3
heading1=value3.1a
heading3=value3.1c

Code:
# cat file4
heading3=value4.1c

# 14  
Old 03-27-2007
Code:
nawk -F '[ ,=>]*' '
$3 == 0 { 
    heading = $NF 
} 
$3 !=0 { 
    file="file" $3
    printf "%s=%s\n", heading,$NF >> file
    close(file)
}' file


Last edited by reborg; 03-27-2007 at 09:34 PM.. Reason: add close(file)
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

parsing

Can some body show me a sed command to remove everyhing upto a '/' and leave the rest of the line. cat data.out This is the directory /tmp/xxx/yy.ksh I only want to get the fullpath name /tmp/xxx.yy.ksh Thanks in advance to all who answer. (3 Replies)
Discussion started by: BeefStu
3 Replies

2. Shell Programming and Scripting

Parsing the file

Hi all, Could anyone help me out? My input file is like: M1SYSNPENGGQINDNINYSE21PTMLPENLSLSNYDMDSFLGQFPSDNNMQLPHSTYEQHLQGEQQNPTNPNYFPPEFDEN2VDW1QE2 output is: M1 M1SYSNPENGGQINDNINYSE2 M1SYSNPENGGQINDNINYSE21 SYSNPENGGQINDNINYSE2 SYSNPENGGQINDNINYSE21 ... (2 Replies)
Discussion started by: yinyuemi
2 Replies

3. Shell Programming and Scripting

sed (parsing value)

All, Can somebody provide me with some sed expertise on how to parse the following line. 27-MAR-2011 10:28:01 * (CONNECT_DATA=(SID=dmart)(CID=(PROGRAM=sqlplus)(HOST=mtasnprod1)(USER=mtasnord))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.197.7.47)(PORT=54881)) * establish * dmart * 0 I would like... (3 Replies)
Discussion started by: BeefStu
3 Replies

4. Shell Programming and Scripting

Parsing through Awk

Hi All, I have an input file something like this: Line1 Line2 .... LineN Identifier ( Field1a, Field1b; Field2a, Field1b; Field3a, Field1b; ..... ) LineN+1 LineN+2 etc.. I basically need Field1a, Field2a, Field3a.... from the above file (6 Replies)
Discussion started by: tostay2003
6 Replies

5. Shell Programming and Scripting

Need help with parsing a file

I trying to get only the highest version of the file names from an file which has list of file names. EX: CATEGORYDISPLAY JSP.A-SRC_BLD;2.4 CATEGORYDISPLAY JSP.A-SRC_BLD;2.5 CATEGORYDISPLAY JSP.A-SRC_BLD;2.1 CATEGORYDISPLAY JSP.A-SRC_BLD;2.2 The Script should display only the highest... (7 Replies)
Discussion started by: rocker_me2002
7 Replies

6. Shell Programming and Scripting

iterative parsing

I have always struggled when parsing a file vertically vs. by line horizontally. Can't seem to get my head around the concept. Here again I need to convert vertical output to horizontal output. original output root@acuransx:bpplsched 2000-STAND3 -v -M acuransx -l <2>bpplsched: INITIATING:... (4 Replies)
Discussion started by: jouuu
4 Replies

7. Shell Programming and Scripting

Parsing of file for Report Generation (String parsing and splitting)

Hey guys, I have this file generated by me... i want to create some HTML output from it. The problem is that i am really confused about how do I go about reading the file. The file is in the following format: TID1 Name1 ATime=xx AResult=yyy AExpected=yyy BTime=xx BResult=yyy... (8 Replies)
Discussion started by: umar.shaikh
8 Replies

8. Shell Programming and Scripting

Perl parsing compared to Ksh parsing

#! /usr/local/bin/perl -w $ip = "$ARGV"; $rw = "$ARGV"; $snmpg = "/usr/local/bin/snmpbulkget -v2c -Cn1 -Cn2 -Os -c $rw"; $snmpw = "/usr/local/bin/snmpwalk -Os -c $rw"; $syst=`$snmpg $ip system sysName sysObjectID`; sysDescr.0 = STRING: Cisco Internetwork Operating System Software... (1 Reply)
Discussion started by: popeye
1 Replies

9. Shell Programming and Scripting

Need some help with parsing

I have a big xml file with little formatting in it. It contains over 600 messages that I need to break each message out in its own separate file. The xml file looks in the middle of it something like this: </Title></Msg><Msg><Opener> Hello how are you?<Title> Some says hello</Title><Body>... (3 Replies)
Discussion started by: quixoticking11
3 Replies

10. Shell Programming and Scripting

Parsing Binary

I have a binary file a particular format. It contains the Length Bytes and the Type bytes i.e the first four bytes if the file indicate the length of the Type which is to follow. for eg, if the int value of the first four bytes is 80, then it means that the length of the following "Type" is 80.... (2 Replies)
Discussion started by: xgringo
2 Replies
Login or Register to Ask a Question