XML parsing using shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting XML parsing using shell script
# 1  
Old 05-12-2011
XML parsing using shell script

I have a xml file like this

Code:
<bul:collectionStrategy name="strategy1">
                    <bul:collectionTemplateGroup name="15min group"/>
                    <bul:collectionTemplateGroup name="hourly group"/>
</bul:collectionStrategy>
<bul:CollectionTemplateGroup name="hourly group" >
                    <bul:template name="Board parameters"/>
</bul:CollectionTemplateGroup>
<bul:CollectionTemplateGroup name="15min group" >
                    <bul:template name="Test 15min parameters"/>       
</bul:CollectionTemplateGroup>
<bul:CollectionTemplate name="Board parameters" >
                    <bul:parameters id="5629"/>
                    <bul:parameters id="22002"/>
                    <bul:parameters id="22001"/>
</bul:CollectionTemplate>
<bul:CollectionTemplate name="Test 15min parameters" >
                    <bul:parameters id="151524"/>
                    <bul:parameters id="151525"/>
</bul:CollectionTemplate>


Now i need to get the hourly parameters in a separate file Parameter1hr.txt and 15min parameters in Parameter15min.txt using shell script
Parameter1hr.txt should have this
Code:
5629
22002
22001

Parameter15min.txt should have this
Code:
151524
151525


Last edited by pludi; 05-12-2011 at 10:07 AM..
# 2  
Old 05-12-2011
Code:
awk -F"\"" '/<[\/]*bul:CollectionTemplate[> ]/{x=!x;f=(x&&/15min/)?"Parameter15min.txt":"Parameter1h.txt"}x&&/id/{print $(NF-1) >> f ; close f}' infile

---------- Post updated at 10:32 PM -

Use nawk instead of awk if running SunOS / Solaris

Code:
# rm Parameter15min.txt Parameter1h.txt

Code:
# cat tst
<bul:collectionStrategy name="strategy1">
                    <bul:collectionTemplateGroup name="15min group"/>
                    <bul:collectionTemplateGroup name="hourly group"/>
</bul:collectionStrategy>
<bul:CollectionTemplateGroup name="hourly group" >
                    <bul:template name="Board parameters"/>
</bul:CollectionTemplateGroup>
<bul:CollectionTemplateGroup name="15min group" >
                    <bul:template name="Test 15min parameters"/>
</bul:CollectionTemplateGroup>
<bul:CollectionTemplate name="Board parameters" >
                    <bul:parameters id="5629"/>
                    <bul:parameters id="22002"/>
                    <bul:parameters id="22001"/>
</bul:CollectionTemplate>
<bul:CollectionTemplate name="Test 15min parameters" >
                    <bul:parameters id="151524"/>
                    <bul:parameters id="151525"/>
</bul:CollectionTemplate>

Code:
# nawk -F"\"" '/<[\/]*bul:CollectionTemplate[> ]/{x=!x;f=(x&&/15min/)?"Parameter15min.txt":"Parameter1h.txt"}x&&/id/{print $(NF-1) >> f ; close f}' tst

Code:
# cat Parameter15min.txt
151524
151525

Code:
# cat Parameter1h.txt
5629
22002
22001


Last edited by ctsgnb; 05-12-2011 at 07:38 PM..
This User Gave Thanks to ctsgnb For This Post:
# 3  
Old 05-13-2011
Thank u so much... It worked well
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing custom data into xml in Shell

Hi , I have data as below in a text file { 'AAA' => { 'A1' => 'a1 comment', 'A2' => 'a2 comment' }, 'BBB' => { 'B1' => 'b1 comment' }, 'CCC' => { 'C1' => 'c1 comment', 'C2' => 'c2 comment', 'C3' => 'c3 comment' 'C4' => 'c4... (2 Replies)
Discussion started by: vivek d r
2 Replies

2. Shell Programming and Scripting

XML-Text Parsing Using shell scripting

HI Guys, I have to parse below xml file :- <xn:SubNetwork id="ONRM_ROOT_MO_R"> <xn:MeContext id="LP101"> <xn:ManagedElement id="1"> <xn:VsDataContainer id="1"> <xn:attributes> ... (8 Replies)
Discussion started by: asavaliya
8 Replies

3. Solaris

XML to Text file Parsing Using shell scripting

Hi, I want to parse an XML File using Shell Script preferably by using awk command, I/P file is : <gn:ExternalGsmCell id="016P3A"> <gn:attributes> <gn:mnc>410</gn:mnc> <gn:mcc>310</gn:mcc> <gn:lac>8016</gn:lac> ... (2 Replies)
Discussion started by: tech_frk
2 Replies

4. Shell Programming and Scripting

Parsing XML using shell script

Well, issue is i have to parse this script to get the VERSION: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleAllowMixedLocalizations</key> ... (9 Replies)
Discussion started by: zorosinister
9 Replies

5. Shell Programming and Scripting

XML to Text file Parsing Using shell scripting

Hi folks, Need some help with XML to text file parsing , the following is the content of the XML File. <xn:SubNetwork id="SNJNPRZDCR0R03"> <xn:MeContext id="PRSJU0005"> <xn:VsDataContainer id="PRSJU0005"> <xn:attributes> ... (6 Replies)
Discussion started by: tech_frk
6 Replies

6. Shell Programming and Scripting

Shell script for XML code parsing.

I need to create a shell script that can parse the below XML and send a string back adding all XML values. The text which's not in angular braces are to be printed. Sample code: <RequestBillsRsp... (9 Replies)
Discussion started by: xtatic
9 Replies

7. Shell Programming and Scripting

Shell script for XML code parsing.

Please help me to create a shell script that can parse the below XML and send a string back adding all XML values.:) <RequestBillsRsp... (1 Reply)
Discussion started by: xtatic
1 Replies

8. Shell Programming and Scripting

XML parsing in a shell script.

Below is a XML I have... <?xml version="1.0" encoding="UTF-8" ?> <component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:XXXXX-www-Install-Manifest manifest.xsd" xmlns="urn:qqqqq-Install-Manifest" name="OM" ... (1 Reply)
Discussion started by: dashok.83
1 Replies

9. Shell Programming and Scripting

Parsing XML using Shell Script

Hello, I'm a starting shell scripter and no Perl knowledge. I've trying to do this for a while: I want to parse an XML file and get certain data out of it and write that data into a CSV file, all this using Shell Scripting (in Bash). Or Perl without any XML Parser/Interpreter (if possible). ... (1 Reply)
Discussion started by: Kage Musha
1 Replies

10. Shell Programming and Scripting

XML parsing through shell scritps

Hi, Am new to scripting. :) Am trying to figure out whether can i use bash scripting to parse an xml file. Parsing is not just pulling out information according to the pattern but its more of a generic parsing. I should identify the xml hierarchy and pull out information accordingly. It's not a... (2 Replies)
Discussion started by: karthikvela
2 Replies
Login or Register to Ask a Question