shellscripting to edit xml file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting shellscripting to edit xml file
# 1  
Old 09-20-2011
shellscripting to edit xml file

I have an xml file where every line which has the word CDATA in it follows this pattern
Code:
(line number)  <word1><![CDATA[something]]></>

I need only these lines editing so that the end result is that
Code:
(line number)  <word1><![CDATA[something]]></word1>

so it copies the first bit to the end.

Anyone know how I can do this I am having trouble with awk and sed

p.s this is in UNIX

Last edited by legolad; 09-20-2011 at 10:31 AM.. Reason: Please use code tags for code and data
# 2  
Old 09-20-2011
You want to fetch "something" from "somethingelse" ?? Smilie
or you just want to have </word1> as the last tag?

--ahamed
# 3  
Old 09-20-2011
Code:
kent$  echo '(line number)  <word1><![CDATA[somethingelse]]></>'|sed -r '/word1/{s#(<\!\[CDATA\[).*(\]\]>)#\1something\2#;s#</>#<word1/>#}'
(line number)  <word1><![CDATA[something]]><word1/>

# 4  
Old 09-20-2011
just word1 as the last tag sorry my bad it was a type

I have edited now to make amends
# 5  
Old 09-20-2011
legolad,

Quote:
Originally Posted by legolad
I have an xml file where every line which has the word CDATA in it follows this pattern
I need only these lines editing so that the end result is that
Code:
(line number)  <word1><![CDATA[something]]></word1>

Just for making clear..

You want :
Code:
(line number)  <word1><![CDATA[something]]><word1/>
(line number)  <word2><![CDATA[something]]><word2/>
(line number)  <word3><![CDATA[something]]><word3/>

OR
Code:
(line number)  <word1><![CDATA[something]]><word1/>
(line number)  <word1><![CDATA[something]]><word1/>
(line number)  <word1><![CDATA[something]]><word1/>

which one..???
# 6  
Old 09-20-2011
Sorry it is this one

Code:
(line number)  <word1><![CDATA[something]]><word1/> 
(line number)  <word2><![CDATA[something]]><word2/>
(line number)  <word3><![CDATA[something]]><word3/>

however there are other lines in the code that I don't want editing so only the ones which have CDATA in them if you understand?

also it should be

Code:
(line number)  <word1><![CDATA[something]]></word1> 
(line number)  <word2><![CDATA[something]]></word2> 
(line number)  <word3><![CDATA[something]]></word3>

not

Code:
(line number)  <word1><![CDATA[something]]><word1/> 
(line number)  <word2><![CDATA[something]]><word2/> 
(line number)  <word3><![CDATA[something]]><word3/>

# 7  
Old 09-20-2011
One more doubt, is the tag name "word" constant? or will it keep changing to some other tag name?

And this is what you want?

Input
Code:
line number)  <word1><![CDATA[something]]></>     
(line number)  <word1><![CDATA[something]]></>
(line number)  <word1><![CDATA[something]]></>
(line number)  <word1><![CDATA[something]]></>

Output
Code:
(line number)  <word1><![CDATA[something]]></word1>     
(line number)  <word2><![CDATA[something]]></word2>
(line number)  <word3><![CDATA[something]]></word3>
(line number)  <word4><![CDATA[something]]></word4>

--ahamed
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Grepping multiple XML tag results from XML file.

I want to write a one line script that outputs the result of multiple xml tags from a XML file. For example I have a XML file which has below XML tags in the file: <EMAIL>***</EMAIL> <CUSTOMER_ID>****</CUSTOMER_ID> <BRANDID>***</BRANDID> Now I want to grep the values of all these specified... (1 Reply)
Discussion started by: shubh752
1 Replies

2. UNIX for Beginners Questions & Answers

Virsh edit xml changes are lost

Using 'virsh edit ' command I tried to edit the xml file for a specific guest . I wanted to add serial ttyS0 for the guest machine, but I found that after using virsh edit then inserted below lines just before '<devices>' keyword I saved the file using ':wq!' (vi editor style) and booted the guest... (3 Replies)
Discussion started by: Paras Pandey
3 Replies

3. Shell Programming and Scripting

Splitting a single xml file into multiple xml files

Hi, I'm having a xml file with multiple xml header. so i want to split the file into multiple files. Sample.xml consists multiple headers so how can we split these multiple headers into multiple files in unix. eg : <?xml version="1.0" encoding="UTF-8"?> <ml:individual... (3 Replies)
Discussion started by: Narendra921631
3 Replies

4. Shell Programming and Scripting

Split xml file into multiple xml based on letterID

Hi All, We need to split a large xml into multiple valid xml with same header(2lines) and footer(last line) for N number of letterId. In the example below we have first 2 lines as header and last line as footer.(They need to be in each split xml file) Header: <?xml version="1.0"... (5 Replies)
Discussion started by: vx04
5 Replies

5. Shell Programming and Scripting

Comparing delta values of one xml file in other xml file

Hi All, I have two xml files. One is having below input <NameValuePair> <name>Daemon</name> <value>tcp:7474</value> </NameValuePair> <NameValuePair> <name>Network</name> <value></value> </NameValuePair> ... (2 Replies)
Discussion started by: sharsour
2 Replies

6. Shell Programming and Scripting

Help required in Splitting a xml file into multiple and appending it in another .xml file

HI All, I have to split a xml file into multiple xml files and append it in another .xml file. for example below is a sample xml and using shell script i have to split it into three xml files and append all the three xmls in a .xml file. Can some one help plz. eg: <?xml version="1.0"?>... (4 Replies)
Discussion started by: ganesan kulasek
4 Replies

7. Shell Programming and Scripting

How to add the multiple lines of xml tags before a particular xml tag in a file

Hi All, I'm stuck with adding multiple lines(irrespective of line number) to a file before a particular xml tag. Please help me. <A>testing_Location</A> <value>LA</value> <zone>US</zone> <B>Region</B> <value>Russia</value> <zone>Washington</zone> <C>Country</C>... (0 Replies)
Discussion started by: mjavalkar
0 Replies

8. Shell Programming and Scripting

Loop through text file > Copy Folder > Edit XML files in bulk?

I have a text file which contains lines in this format - it contains 105 lines in total, but I'm just putting 4 here to keep it short: 58571,east_ppl_ppla_por 58788,east_pcy_hd_por 58704,east_pcy_ga_por 58697,east_pcy_pcybs_por It's called id_key.txt I have a sample folder called... (9 Replies)
Discussion started by: biscuitcreek
9 Replies

9. Shell Programming and Scripting

csv file to excel file with shellscripting

Hi all, Please help me out How to write a shell script which converts abc.csv file into abc.xls example file abc.csv AP_RQ_ID,TXN_IER,AP_RS_RESP_CD,TXN_CNT,TOTAL_AMT 60000002,ACTIVATION,00,490,14657.52 60000002,ACTIVATION,08,1,100 This needs to be converted into excel format using a... (3 Replies)
Discussion started by: dudd9
3 Replies

10. Shell Programming and Scripting

How to remove xml namespace from xml file using shell script?

I have an xml file: <AutoData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Table1> <Data1 10 </Data1> <Data2 20 </Data2> <Data3 40 </Data3> <Table1> </AutoData> and I have to remove the portion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" only. I tried using sed... (10 Replies)
Discussion started by: Gary1978
10 Replies
Login or Register to Ask a Question