Getting error in sed command in replacing a word in all xmls


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Getting error in sed command in replacing a word in all xmls
# 1  
Old 06-27-2016
Wrench Getting error in sed command in replacing a word in all xmls

Hi Folks ,

I have to replace the following value in all the xml files so the value is

Code:
tcp://pondevpms1.fm.rbsgrp.net:6033,pondevpms2.fm.rbsgrp.net:6033


and the value with it need to be replaces is shown below

Code:
tcp://pondevpms1:3063



so i have fired the below command inside the directory that contain all the xml's



Code:
sed -i 's/tcp://pondevpms1.fm.rbsgrp.net:6033,pondevpms2.fm.rbsgrp.net:6033/tcp://pondevpms1:6063 /g' *.xml


but i am getting this below error please advise what is missing ..?Smilie
# 2  
Old 06-27-2016
Code:
sed -i 's#tcp://pondevpms1.fm.rbsgrp.net:6033,pondevpms2.fm.rbsgrp.net:6033#tcp://pondevpms1:6063 #g' *.xml

You would have to escape every single / in the URI so it doesn't conflict with the sed delimiter /, or you could change the delimiter as highlighted in red.
Also, even when it probably would not make a noticable effect here, the . (dot) means any character except the newline inside the regular expression of sed substitution.

Last edited by Aia; 06-27-2016 at 11:23 AM..
# 3  
Old 06-27-2016
Quote:
Originally Posted by Aia
Code:
sed -i 's#tcp://pondevpms1.fm.rbsgrp.net:6033,pondevpms2.fm.rbsgrp.net:6033#tcp://pondevpms1:6063 #g' *.xml

You would have to escape every single / in the URI so it doesn't conflict with the sed delimiter /, or you could change the delimiter as highlighted in red.
Also, even when it probably would not make a noticable effect here, the . (dot) means any character except the newline inside the regular expression of sed substitution.

Thanks it works but one thin i checked in xmls where this value is replaced that a space is inserted at last for example in the below xmls the value is replaced as


Code:
<prop key="java.naming.provider.url">tcp://pondevpms1:6063 </prop>


now see that at last specially after 7063 please advise how to edit this command so that t here is no space after 7063Smilie
# 4  
Old 06-27-2016
Quote:
Originally Posted by unclesamm
Thanks it works but one thin i checked in xmls where this value is replaced that a space is inserted at last for example in the below xmls the value is replaced as


Code:
<prop key="java.naming.provider.url">tcp://pondevpms1:6063 </prop>


now see that at last specially after 7063 please advise how to edit this command so that t here is no space after 7063Smilie
Do you mean 6063? In your original post you introduced the space.
Code:
sed -i 's#tcp://pondevpms1\.fm\.rbsgrp\.net:6033,pondevpms2\.fm\.rbsgrp\.net:6033#tcp://pondevpms1:6063#g' *.xml

Edit the command as shown.
Of course, since you overwrote your original files, now, that command might not work.

Please, try the following command to rectify.
Code:
perl -i -pe 's/:6063 </:6063</g' *.xml


Last edited by Aia; 06-27-2016 at 11:58 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed command to append word at end of line

hello Team, I am looking for sed command or script which will append word at end of line. for example. I want to validate particular filesystem with mount |<filesystem name> command. if nodev parameter is not there then it should add in the fstab file with receptive to the filesystem. # mount... (8 Replies)
Discussion started by: ghpradeep
8 Replies

2. Shell Programming and Scripting

Replacing the first word if the word three match

Dear ALL, I have sample file : IDcentos-forum,bash,linuxCentOS,GNome IEfedora-milis,cli,linuxRedhat,KDE IRfreebsd-milis,aix,unixbsd,pyton required output: centos,bash,linuxCentOS,GNome fedora,cli,linuxRedhat,KDE freebsd,aix,unixbsd,pyton Can you help me pls.. (1 Reply)
Discussion started by: gnulyn
1 Replies

3. Shell Programming and Scripting

Replacing a particular word with another word in all the xml's under a particular directory with sed

Hi Folks, Could you please advise what will be the SED command to replace a word in all xml's under a particular directory for example let say I rite now at the following below location $ cd /ter/rap/config now under config directory there will be lots of xml file , now my objective is to... (1 Reply)
Discussion started by: punpun66
1 Replies

4. Shell Programming and Scripting

sed command to remove a word from string

Hello All, I am running a command find . -name amp.cfg | cut -c 3- which gives me output something like below rel/prod/amp.cfg rel/fld/amp.cfg deb/detail/amp.cfg deb/err/amp.cfg I want to remove trailing "/amp.cfg" so that i should get output something like... (7 Replies)
Discussion started by: anand.shah
7 Replies

5. Shell Programming and Scripting

sed command to replace a word with new line and /

Hi, I have been trying to replace the key word "SQL> spool off " with "/ show errors" with out double quotes in all the files in a directory. above show erros should be displayed next line Could you please help me how to do that. I have tried something like this... (3 Replies)
Discussion started by: pointers
3 Replies

6. Shell Programming and Scripting

How to append something to a word using sed command

Hi, How to append something to already existing word. Suppose, I have the following line as a part of a file. VVV= jdbc:... (6 Replies)
Discussion started by: Dpu
6 Replies

7. Shell Programming and Scripting

sed - replacing on the right of a pattern and looking for exact word?

how would you get SED to do the following, say you have the following lines in a text file: user=tigger some text some text some text some text some text some text user=ted some text some text some text some text some text some text user=thekingofrockandroll you want to find any line... (15 Replies)
Discussion started by: rich@ardz
15 Replies

8. UNIX for Dummies Questions & Answers

regular expression for replacing the fist word with a last word in line

I have a File with the below contents File1 I have no prior experience in unix. I have just started to work in unix. My experience in unix is 0. My Total It exp is 3 yrs. I need to replace the first word in each line with the last word for example unix have no prior experience in... (2 Replies)
Discussion started by: kri_swami
2 Replies

9. Shell Programming and Scripting

error while replacing a string by new line character in sed

hi, when i am doing the following things getting error Can anyone please suggest i have a file where there is a line like the following branch=dev sdf dev jin kilii fin kale boyle dev james dev i want to search the existance of dev in the above line. cat "$file" | sed -n... (8 Replies)
Discussion started by: millan
8 Replies

10. Shell Programming and Scripting

Need help in sed command ( Replacing a pattern inside a file with a variable value )

Hello, The following sed command is giving error sed: -e expression #1, char 13: unknown option to `s' The sed command is echo "//-----" | sed "s/\/\/---*/$parChk/g" where parChk="//---ee-" How can i print the variable value from sed command ? And is it possible to replace a... (2 Replies)
Discussion started by: frozensmilz
2 Replies
Login or Register to Ask a Question