Sponsored Content
Full Discussion: Find/Replace in XML file
Top Forums Shell Programming and Scripting Find/Replace in XML file Post 302535549 by jimraynor on Friday 1st of July 2011 05:16:59 AM
Old 07-01-2011
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:

Code:
<objects/>
<thumb>thumb_0001.jpg</thumb>
<preview>preview_0001.jpg</preview>

And replace with something like this:

Code:
<objects>
<link>preview_0001.html</link>
</objects>
<thumb>thumb_0001.jpg</thumb>
<preview>preview_0001.jpg</preview>

I cant figure out how to make my replacement string include part of what i found, since i want the name of the html to be the name of the preview image. Is this possible with sed or awk?
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

find and replace in XML

Hi I need one clarication.. I have an xml having many entries like this.. <Cust_Name>Tom Cruise</Cust_Name> I want to rename this to <Cust_Name>TEST</Cust_Name> Pls let me know how to do it.. I was trying some basic commands like grep 'Cust_Name' * | tr '>' ',' | tr '<' ... (2 Replies)
Discussion started by: wip_vasikaran
2 Replies

2. Shell Programming and Scripting

Help with find and replace in XML

Hello Guys, I have this requirement with several hundred files. I have this first set of xml's files with the following tags spread across the file FILE in SET A <Name>Lion</Name> <Age>15</Age> ..... .... ... <Date>2009-12-12</Date> Now i have this another set of files which... (5 Replies)
Discussion started by: aixjadoo
5 Replies

3. 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

4. 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

5. Shell Programming and Scripting

Find Node and replace line(s) preceding in xml file

Hello, I have an xml file whose contacts are like below: <Node>Apple <B>Value1</B> <B>Value2</B> <B>Value3</B> </Node> <Node>Mango <B>Value1</B> <B>Value2</B> <B>Value3</B> </Node> <Node>Apple <B>Value1</B> <B>Value2</B> <B>Value3</B> </Node> <Node>Bannana (3 Replies)
Discussion started by: umarsatti
3 Replies

6. Linux

Linux command to find and replace occurance of more than two equal sign with "==" from XML file.

Please help me, wasted hrs:wall:, to find this soulution:- I need a command that will work on file (xml) and replace multiple occurrence (more than 2 times) Examples 1. '===' 2. '====' 3. '=======' should be replaced by just '==' Note :- single character should be replaced. (=... (13 Replies)
Discussion started by: RedRocks!!
13 Replies

7. Shell Programming and Scripting

Find and replace from an XML

Input-xml <weblogic-web-app> <session-descriptor> <session-param> <param-name>SysName</param-name> <param-value>smilyface</param-value> </session-param> <session-param> <param-name>InternetProtocol</param-name> <param-value>xxxxxxxx</param-value> ... (2 Replies)
Discussion started by: linuxadmin
2 Replies

8. Shell Programming and Scripting

Find and replace in xml

Hi All, My XML file looks like below: <logEvent xsi:type="logservice:LogEvent" timestamp="1394713811052" severity="3" messageCode="TM_6228" message="Writing session output to log file ." user="" stacktrace="" service="" serviceType="IS" clientNode="dev" pid="712" threadName="DIRECTOR"... (3 Replies)
Discussion started by: galaxy_rocky
3 Replies

9. 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

10. UNIX for Beginners Questions & Answers

Find replace text in xml file on the fly

Dear Unix guru, I have a .XML file which is being used to load data to oracle. This file comes on unix box and one of the tag in xml is oracle key word. I want to find that tag and replace with new tag on the fly For example I will get one of the tag in xml is as below <from>Test Test... (12 Replies)
Discussion started by: guddu_12
12 Replies
SHELL-QUOTE(1p) 					User Contributed Perl Documentation					   SHELL-QUOTE(1p)

NAME
shell-quote - quote arguments for safe use, unmodified in a shell command SYNOPSIS
shell-quote [switch]... arg... DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands or files with embedded white space or shell globbing characters safely. Here are a few examples. EXAMPLES
ssh preserving args When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and passes them to "$SHELL -c". This doesn't work as intended: ssh host touch 'hi there' # fails It creates 2 files, hi and there. Instead, do this: cmd=`shell-quote touch 'hi there'` ssh host "$cmd" This gives you just 1 file, hi there. process find output It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote: eval set -- `find -type f -print0 | xargs -0 shell-quote --` debug shell scripts shell-quote is better than echo for debugging shell scripts. debug() { [ -z "$debug" ] || shell-quote "debug:" "$@" } With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can. save a command for later shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are things the user can't pass through), you can do something like this: user_switches= while [ $# != 0 ] do case x$1 in x--pass-through) [ $# -gt 1 ] || die "need an argument for $1" user_switches="$user_switches "`shell-quote -- "$2"` shift;; # process other switches esac shift done # later eval "shell-quote some-command $user_switches my args" OPTIONS
--debug Turn debugging on. --help Show the usage message and die. --version Show the version number and exit. AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions. AUTHOR
Roderick Schertler <roderick@argon.org> perl v5.8.4 2005-05-03 SHELL-QUOTE(1p)
All times are GMT -4. The time now is 01:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy