how to read the variable from tags based on appropriate tag


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to read the variable from tags based on appropriate tag
# 8  
Old 10-04-2012
Code:
awk -F "[<>.]" 'NR==1{print "Name Template Prequire1 Prequire2 Prequire3"}
/<name>/{s=$3}
/<template>/{s=s" "$3}
/<\/prerequire>/{s=s" "$3}
/<\/entity>/{print s;s=""}' file

# 9  
Old 10-04-2012
Quote:
Originally Posted by pamu
Code:
awk -F "[<>.]" 'NR==1{print "Name Template Prequire1 Prequire2 Prequire3"} /<name>/{s=$3} /<template>/{s=s" "$3} /<\/prerequire>/{s=s" "$3} /<\/entity>/{print s;s=""}' file

The command is returning the result in one column but not in the format that I've provided. Please check and confirm.
# 10  
Old 10-04-2012
Quote:
Originally Posted by mjavalkar
The command is returning the result in one column but not in the format that I've provided. Please check and confirm.
No. it works perfect as per your provided input...

Code:
$ awk -F "[<>.]" 'NR==1{print "Name Template Prequire1 Prequire2 Prequire3"}
/<name>/{s=$3}
/<template>/{s=s" "$3}
/<\/prerequire>/{s=s" "$3}
/<\/entity>/{print s;s=""}' file
Name Template Prequire1 Prequire2 Prequire3
Testing analyze 439
Support testing 9382  9382
Development testing 1928  1458  9894

# 11  
Old 10-04-2012
Quote:
Originally Posted by pamu
No. it works perfect as per your provided input...

Code:
$ awk -F "[<>.]" 'NR==1{print "Name Template Prequire1 Prequire2 Prequire3"}
/<name>/{s=$3}
/<template>/{s=s" "$3}
/<\/prerequire>/{s=s" "$3}
/<\/entity>/{print s;s=""}' file
Name Template Prequire1 Prequire2 Prequire3
Testing analyze 439
Support testing 9382  9382
Development testing 1928  1458  9894

It's only working for the sample xml code provided. My actual code is of 2000 lines among which few <entity> tags doesn't have the <prerequisite> tag. The Command should not returns the <name> tags which doesn't have <template> within the <entity>. Could you also provide ','(comma) between each cell in the output like below:

Quote:
Name,Template,Prequire1,Prequire2,Prequire3
Testing,analyze,439
Support,testing,9382,9382
Development,testing,1928,1458,9894
# 12  
Old 10-04-2012
Code:
awk -F "[<>.]" 'NR==1{print "Name Template Prequire1 Prequire2 Prequire3"}
/<name>/{n=$3}
/<template>/{t=$3}
/<\/prerequire>/ {if(NF > 4){if(s){s=s","$3}else{s=$3}}}
/<\/entity>/{if(t){print n,t,s;s="";t=""}else{s=""}}' OFS="," file

This User Gave Thanks to pamu For This Post:
# 13  
Old 10-04-2012
Quote:
Originally Posted by pamu
Code:
awk -F "[<>.]" 'NR==1{print "Name Template Prequire1 Prequire2 Prequire3"}
/<name>/{n=$3}
/<template>/{t=$3}
/<\/prerequire>/ {if(NF > 4){if(s){s=s","$3}else{s=$3}}}
/<\/entity>/{if(t){print n,t,s;s="";t=""}else{s=""}}' OFS="," file

Thanks but still the above is failing. What is the variable 's' in highlighted code above? From where does 's' value gets?
# 14  
Old 10-04-2012
Quote:
Originally Posted by mjavalkar
Thanks but still the above is failing. What is the variable 's' in highlighted code above? From where does 's' value gets?
s value collected from <prerequire> this tag..

ohhh just forgot to add one more condition...
this should workkkSmilie

Code:
awk -F "[<>.]" 'NR==1{print "Name Template Prequire1 Prequire2 Prequire3"}
/<name>/{n=$3}
/<template>/{t=$3}
/<\/prerequire>/ {if(NF > 4){if(s){s=s","$3}else{s=$3}}}
/<\/entity>/{if(t){if(s){print n,t,s;s="";t=""}else{print n,t;t=""}}else{s=""}}' OFS="," file


Last edited by pamu; 10-04-2012 at 10:17 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Replacing tag based on condition

Hi All, I am having a file like below. The file will having information about the records.If you see the file the file is header and data. For example it have 1 men tag and the tag id will be come after headers. The change is I want to convert All pets tag from P to X. I did a sed like below... (5 Replies)
Discussion started by: arunkumar_mca
5 Replies

2. Shell Programming and Scripting

Help with tag value extraction from xml file based on a matching condition

Hi , I have a situation where I need to search an xml file for the presence of a tag <FollowOnFrom> and also , presence of partial part of the following tag <ContractRequest _LoadId and if these 2 exist ,then extract the value from the following tag <_LocalId> which is "CW2094139". There... (2 Replies)
Discussion started by: paul1234
2 Replies

3. Shell Programming and Scripting

Help with XML tag value extraction based on condition

sample xml file part <?xml version="1.0" encoding="UTF-8"?><ContractWorkspace xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _LoadId="export_AJ6iAFmh+pQHq1" xsi:noNamespaceSchemaLocation="ContractWorkspace.xsd"> <_LocalId>CW2218471</_LocalId> <Active>true</Active> ... (3 Replies)
Discussion started by: paul1234
3 Replies

4. Shell Programming and Scripting

Help with XML tag value extraction based on matching condition

sample xml file part <DocumentMinorVersion>0</DocumentMinorVersion> <DocumentVersion>1</DocumentVersion> <EffectiveDate>2017-05-30T00:00:00Z</EffectiveDate> <FollowOnFrom> <ContractRequest _LoadId="export_AJ6iAFoh6g0rE9"> <_LocalId>CRW2218451</_LocalId> ... (4 Replies)
Discussion started by: paul1234
4 Replies

5. Shell Programming and Scripting

Read xml tags and then remove the tag using shell script

<Start> <Header> This is header section </Header> <Body> <Body_start> This is body section <a> <b> <c> <st>111</st> </c> <d> <st>blank</st> </d> </b> </a> </Body_start> <Body_section> This is body section (3 Replies)
Discussion started by: RJG
3 Replies

6. Shell Programming and Scripting

Convert tag based lines to xml format

Hi All, Can some one help me to convert this line of code to xml format. Thanks in advance, preethy. input: ... (2 Replies)
Discussion started by: preethy
2 Replies

7. UNIX for Advanced & Expert Users

Shell Script to read XML tags and the data within that tag

Hi unix Gurus, I am really new to Unix Scripting. Please help me to create a shell script which reads the xml file and from that i need to fetch a particular information. For example <SOURCE BUSINESSNAME ="" DATABASETYPE ="Teradata" DBDNAME ="DWPROD3" DESCRIPTION ="" NAME... (2 Replies)
Discussion started by: SmilePlease
2 Replies

8. Shell Programming and Scripting

extract xml tag based on condition

Hi All, I have a large xml file of invoices. The file looks like below: <INVOICES> <INVOICE> <NAME>Customer A</NAME> <INVOICE_NO>1234</INVOICE_NO> </INVOICE> <INVOICE> <NAME>Customer A</NAME> <INVOICE_NO>2345</INVOICE_NO> </INVOICE> <INVOICE> <NAME>Customer A</NAME>... (9 Replies)
Discussion started by: angshuman
9 Replies

9. Shell Programming and Scripting

mp3 tag/rename based on creation (last modified date)

Arg, I'm trying to figure out how to create a album tag based on the last modified date stamp for files which don't have a corresponding .talk file. IE. 2009 12 10 - Talk Radio.mp3 is how I want them structured, they should all have a corresponding .talk file so my mp3 player can speak the name ie... (0 Replies)
Discussion started by: mrplow
0 Replies

10. Shell Programming and Scripting

read xml tag attribute and store it in variable

Hi, How to read xml tag attributes and store into variable in shell script? Thanks, Swetha (5 Replies)
Discussion started by: swetha123
5 Replies
Login or Register to Ask a Question