08-13-2009
parsing(xml) using nawk/awk
Hi ,
I have an xml format as shown below:
<Info>
<last name="sean" first name="john"/>
<period="5" time="11"/>
<test value="1",test2 value="2",test3 value="3",test4 value="5">
<old>
<value1>1</value1>
<value2>2</value2>
</old>
<new>
<value1>4</value1>
<value2>3</value2>
</new>
<total>12</total>
</Info>
<Info>
<last name="sean" first name="micheal"/>
<period="10" time="20"/>
<test value="7",test2 value="8",test3 value="9",test4 value="10">
<old>
<value1>8</value1>
<value2>7</value2>
</old>
<new>
<value1>6</value1>
<value2>5</value2>
</new>
<total>20</total>
</Info>
output that i need is:
firstname,period,time,test_value,test3_value,test4_value,old_value1,old_value2,new_value1, new_value2,total
john,5,11,1,3,4,1,2,4,3,12
micheal,7,9,10,8,7,6,5,20
I just now how to parse <total>20</total> by using this
nawk 'BEGIN{FS="[<|>]"}
/<total>/ {printf(" %s\n"$3)}'
However, i do have have any ides on how to parse the rest of the file.
Anyone can know about that?
Your help is highly appreciated.
Thanks!
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am trying to use a line of output in an XML file as input in another new XML file for processing purposes via a shell script. Since I am a newbie though, I'm not sure how to do this since the data is different everytime. I am using this technique with static data right now:
echo -n "Running... (5 Replies)
Discussion started by: corwin43
5 Replies
2. Shell Programming and Scripting
Hi people!,
I need extract from the file (test-file.txt) the values between
<context> and </context> tag's , the total are 7 lines,but i can only get 5 or 2 lines!!:confused:
Please look my code:
#awk '/context/{flag=1} /\/context/{flag=0} !/context/{ if (flag==1) p
rint $0; }'... (3 Replies)
Discussion started by: ricgamch
3 Replies
3. Shell Programming and Scripting
As per another thread - https://www.unix.com/shell-programming-scripting/81027-how-can-i-parse-xml-file-2.html
I am using the following to extract the Subaccid and RecAccTotal from the xm file below
awk -v v=SubaccId -F'' '$2==v{s=$3;getline;a+=$3}END {for (i in a)print v,i,a}' file
Can... (6 Replies)
Discussion started by: frustrated1
6 Replies
4. Shell Programming and Scripting
hello ,
i am trying to parse xml using awk however its a little bit tricky as i want
<databases>
<source>
<host>prod</host>
<port>1522</port>
<tns>GP1</tns>
<user>P11</user>... (6 Replies)
Discussion started by: amit1_x
6 Replies
5. Shell Programming and Scripting
Hi All,
I have an xml file with the below format.
<a>111</a><b>222</b><c>333<c><d><e>123</e><f>234</f><d><e>456</e><f>789</f>
output needed is
111,222,333,123,234
111,222,333,456,789
nawk 'BEGIN{FS="<|>"}
{print a,b,c,e,f
a=""
... (7 Replies)
Discussion started by: natalie23
7 Replies
6. Shell Programming and Scripting
I have a large xml file as shown below:
<input>
<blah>
<blah>
<atr="blah blah value = "">
<blah>
<blah>
</input>
..2nd chunk...
..3rd chunk...
...4th chunk...
All lines between <input> and </input> is one 'order' and this 'order' is repeated... (14 Replies)
Discussion started by: shekhar2010us
14 Replies
7. Shell Programming and Scripting
My XML structure looks like:
<?xml version="1.0" encoding="UTF-8"?>
<SearchRepository>
<SearchItems>
<SearchItem>
...
</SearchItem>
<SearchItem>
...
... (1 Reply)
Discussion started by: jasonjustice
1 Replies
8. Shell Programming and Scripting
i need one help, below is one more xml file with diff pattern i tried it but dint get it , iam sure its a peice of cake for you guys.
<xn:MeContext id="LSVLKY001">
<xn:ManagedElement id="1">
<un:RncFunction id="1">
<un:UtranCell... (2 Replies)
Discussion started by: tech_frk
2 Replies
9. Shell Programming and Scripting
hi all..
need your help again..
i have xml file and i want to parsing some data from the xml file..
<ex-name="keroco">
<................>
<................>
<................>
<br-name="cincai">
<ship="123456">
<...................>
... (3 Replies)
Discussion started by: buncit8
3 Replies
10. Shell Programming and Scripting
Hi All,
I have a problem to resolve. For following XML file, I need to parse the values based on Tag Name. I would prefer to use this by awk. I have used sed command to replace the tags (s/<SeqNo>//).
In this case there can be new tags introduced. So need to parse it based on Tag Name. Any... (9 Replies)
Discussion started by: Tons
9 Replies
LEARN ABOUT ULTRIX
ucblinks
ucblinks(1B) SunOS/BSD Compatibility Package Commands ucblinks(1B)
NAME
ucblinks - adds /dev entries to give SunOS 4.x compatible names to SunOS 5.x devices
SYNOPSIS
/usr/ucb/ucblinks [-e rulebase] [-r rootdir]
DESCRIPTION
ucblinks creates symbolic links under the /dev directory for devices whose SunOS 5.x names differ from their SunOS 4.x names. Where possi-
ble, these symbolic links point to the device's SunOS 5.x name rather than to the actual /devices entry.
ucblinks does not remove unneeded compatibility links; these must be removed by hand.
ucblinks should be called each time the system is reconfiguration-booted, after any new SunOS 5.x links that are needed have been created,
since the reconfiguration may have resulted in more compatibility names being needed.
In releases prior to SunOS 5.4, ucblinks used a nawk rule-base to construct the SunOS 4.x compatible names. ucblinks no longer uses nawk
for the default operation, although nawk rule-bases can still be specifed with the -e option. The nawk rule-base equivalent to the SunOS
5.4 default operation can be found in /usr/ucblib/ucblinks.awk.
OPTIONS
-e rulebase Specify rulebase as the file containing nawk(1) pattern-action statements.
-r rootdir Specify rootdir as the directory under which dev and devices will be found, rather than the standard root directory /.
FILES
/usr/ucblib/ucblinks.awk sample rule-base for compatibility links
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWscpu |
+-----------------------------+-----------------------------+
SEE ALSO
devlinks(1M), disks(1M), ports(1M), tapes(1M), attributes(5)
SunOS 5.10 13 Apr 1994 ucblinks(1B)