How can i use sed to replace a keyword in an xml file?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How can i use sed to replace a keyword in an xml file?
# 1  
Old 04-19-2011
How can i use sed to replace a keyword in an xml file?

Hello Unix gurus!

I'm a unix newbie. Can I use sed to replace a keyword in an xml file and convert this keyword with an output of a unix cat command?

for example: <test>keyword</test>
and temp.txt = hello!

I would like to replace "keyword" with the output of "cat temp.txt".

I think it is possible using sed. Please help!


l'll appreciate the help bigtime! TIA! Smilie
# 2  
Old 04-19-2011
Try this

Code:
sed s/keyword/`cat temp.txt`/ xml_file

# 3  
Old 04-19-2011
wow! that was quick. thanks a bunch palanisvr!

follow up question: how about if i wanted to replace multiple keywords?

example: <test>keyword1</test>
<test>keyword2</test>
<test>keyword3</test>

temp1=hello!
temp2=hi!
temp3=whoa!

TIA!
# 4  
Old 04-19-2011
use XML parsers, where you get the tree node and modifying values is handy

for ex:
Code:
XML::Twig

# 5  
Old 04-19-2011
---------- Post updated at 04:53 PM ---------- Previous update was at 04:52 PM ----------

Quote:
Originally Posted by palanisvr
Code:
sed s/keyword/`cat temp.txt`/ xml_file

sir i tried this but resulted to an error:

sed s/kw01/`cat fatal_alerts.txt`/ template.xml > new.xml
sed: command garbled: s/kw01/

what could be wrong? I tried doing a similar command and does not report any error:
bash-2.05$ sed s/dirk/`cat g`/ r.txt > new.txt
bash-2.05$ cat new.txt
win nowitzki
bash-2.05$ cat r.txt
dirk nowitzki

PLEASE HELP! Smilie
# 6  
Old 04-19-2011
I think file "fatal_alerts.txt" may have multiple line of strings .
# 7  
Old 04-19-2011
Quote:
Originally Posted by palanisvr
I think file "fatal_alerts.txt" may have multiple line of strings .
Yes sir it has multiple string. So that must be causing it to be garbled. Is there anyway to replace the keyword with the contents of fatal_alerts.txt?? Please help. Smilie

fatal_alerts.txt contents:

RAISEDATTIME
--------------------
DESCRIPTION
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
18-APR-2011 06:20:32
Fatal error in Application GATE:
<Error code: 68
Caught by: CTCS_BatchSchedulerBO.HandleException
Raise by: CTCS_FTOServerBTM.ValidateMessageCount()
Message: For Interface: FTO:1315001 in File : 190107079531.txt
File Message Count Mismatch. File reported count: 447 actual message count 797.>
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed search and replace after xml tag

Hi All, I'm new to sed. In following XML file <interface type='direct'> <mac address='52:54:00:86:ce:f6'/> <source dev='eno1' mode='bridge'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> ... (8 Replies)
Discussion started by: varunrapelly
8 Replies

2. Shell Programming and Scripting

Replace string in XML file with awk/sed with string from another

Sorry for the long/weird title but I'm stuck on a problem I have. I have this XML file: </member> <member> <name>TransactionID</name> <value><string>123456789123456</string></value> </member> <member> <name>Number</name> ... (9 Replies)
Discussion started by: cozzin
9 Replies

3. Shell Programming and Scripting

Replace a string in a xml file

Hello, I have below xml file, I want to find line default-value and replace the string within quotes followed by default-value "moni/Websphere/". Replace moni/Websphere/ with monitor/AMQ/ <monitor> <name>WebsphereMqMonitor</name> <type>managed</type> <argument... (4 Replies)
Discussion started by: prince1987
4 Replies

4. Shell Programming and Scripting

Search for a Keyword in file and replace another keyword or add at the end of line

Hi I want to implement something like this: if( keyword1 exists) then check if(keyword2 exists in the same line) then replace keyword 2 with New_Keyword else Add New_Keyword at the end of line end if eg: Check for Keyword JUNGLE and add/replace... (7 Replies)
Discussion started by: dashing201
7 Replies

5. Shell Programming and Scripting

Need to replace particular content in a xml file

Hi, My requirement is to find a text and replace it with another in a XML file. I am new to Unix,Please provide some suggestion to achieve. Find: <Style ss:ID="ColumnHeader1"> Replace with: <Style ss:ID="ColumnHeader1"> <Borders> <Border ss:Position="Bottom"... (4 Replies)
Discussion started by: cnraja
4 Replies

6. Shell Programming and Scripting

Find/Replace in XML file

I am not sure how to approach this find/replace using a shell script. Any help or guidance appreciated. I want to find this: <objects/> <thumb>thumb_0001.jpg</thumb> <preview>preview_0001.jpg</preview> And replace with something like this: <objects>... (1 Reply)
Discussion started by: jimraynor
1 Replies

7. UNIX for Dummies Questions & Answers

replace %20 in xml file

Hi, I'd like to use sed in order to replace %20 and other "special" characters that are represented with % and some number combination in xml file. Typical line looks like this: /Users/imac1/Music/iTunes/iTunes... (6 Replies)
Discussion started by: andrejm
6 Replies

8. Shell Programming and Scripting

Replace only if the keyword is the first word in every line

How do I replace only if the keyword is at the begining of a line? Code: -- a = “This is a print statement” print a -- What if I want to replace print by #print only in the second line i.e only if the line starts with that keyword. Please help me out. I'm new to SED. -----Post... (5 Replies)
Discussion started by: alexzubin
5 Replies

9. Shell Programming and Scripting

replace nth value in xml file

Hi all, I have application.xml file with following content <dependency> <groupId>fr.orange.portail.ear</groupId> <artifactId>_AdminServicesEAR</artifactId> <version>1.0.0-20080521.085352-1</version> <type>ear</type> </dependency> <dependency> ... (4 Replies)
Discussion started by: subin_bala
4 Replies

10. Shell Programming and Scripting

replace string in XML with sed

Greetings, I have an XML : file.xml <component> <name>abcd</name> <value>1234</value> </component> I am using sed to replace abcd with the desired value dynamically without knowing the actual value. sed 's/<name>./]\{1,\}<\/name>/<name>ijkl<\/name>/' file.xml > newfile.xml I... (6 Replies)
Discussion started by: chiru_h
6 Replies
Login or Register to Ask a Question