Sponsored Content
Top Forums Shell Programming and Scripting I want replace string <enclosure>&#x22;</enclosure> with <enclosure>&#x5e;</enclosure> in xml Post 303022829 by Scrutinizer on Saturday 8th of September 2018 04:23:52 AM
Old 09-08-2018
You need to escape the ampersand on the RHS:
Code:
's#<enclosure>&\#x22;</enclosure>#<enclosure>\&\#x5e;</enclosure>#g'

Because it has a special meaning in the s command within sed.




--
Note:
If you choose a different delimiter you do not need to escape the hashes, for example:
Code:
's|<enclosure>&#x22;</enclosure>|<enclosure>\&#x5e;</enclosure>|g'

One could also use back references ( \1 and \2 ) in this case:
Code:
's|\(<enclosure>&#\)x22\(;</enclosure>\)|\1x5e\2|g'

Then you do not need to escape the ampersand, because it is not there
One could even use the backreference on the LHS:
Code:
's|<\(enclosure>\)&#x22;<\1|<\1\&#x5e;<\1|g'

But IMO that does not look very readable..

Last edited by Scrutinizer; 09-08-2018 at 06:49 AM..
 

6 More Discussions You Might Find Interesting

1. Filesystems, Disks and Memory

Building a NAS enclosure

Can anyone guide me on how to build my own NAS ? I have an old laptop that I want to convert into a NAS, but not use the laptop as such as an NAS because it has some problems. I would like to build a NAS like the ones available in market. I do not want to buy a NAS enclosure , but would like to... (3 Replies)
Discussion started by: vpraveen84
3 Replies

2. Shell Programming and Scripting

Find & Replace string in multiple files & folders using perl

find . -type f -name "*.sql" -print|xargs perl -i -pe 's/pattern/replaced/g' this is simple logic to find and replace in multiple files & folders Hope this helps. Thanks Zaheer (0 Replies)
Discussion started by: Zaheer.mic
0 Replies

3. Shell Programming and Scripting

PHP read large string & split in multidimensional arrays & assign fieldnames & write into MYSQL

Hi, I hope the title does not scare people to look into this thread but it describes roughly what I'm trying to do. I need a solution in PHP. I'm a programming beginner, so it might be that the approach to solve this, might be easier to solve with an other approach of someone else, so if you... (0 Replies)
Discussion started by: lowmaster
0 Replies

4. Shell Programming and Scripting

replace & with &amp; xml file

Hello All I have a xml file with many sets of records like this <mytag>mydata</mytag> <tag2>data&</tag2> also same file can be like this <mytag>mydata</mytag> <tag2>data&</tag2> <tag3>data2&amp;data3</tag3> Now i can grep & and replace with &amp; for whole file but it will replace all... (4 Replies)
Discussion started by: lokaish23
4 Replies

5. AIX

Find serial number of storage enclosure?

System: PowerPC_POWER6 OS: AIX 5.x I was told that a disk (hdisk 10) is bad. How can I find "the serial # of the storage enclosure" from command line? How do I find which disk is on which enclosure? Thank you in advance! :) ---------- Post updated at 12:33 PM ---------- Previous update... (2 Replies)
Discussion started by: aixlover
2 Replies

6. AIX

enclosure2 SRN 80210 SSA Enclosure

Hi all, How to view more info about this error message that i am keep on getting. Tried "errpt -a" but the output is huge. Thanks in advance! (2 Replies)
Discussion started by: lramsb4u
2 Replies
CRM_DIFF(8)							  [FIXME: manual]						       CRM_DIFF(8)

NAME
crm_diff - identify changes to the cluster configuration and apply patches to the configuration files SYNOPSIS
crm_diff [-?|-V] [-o filename] [-O string] [-p filename] [-n filename] [-N string] DESCRIPTION
The crm_diff command assists in creating and applying XML patches. This can be useful for visualizing the changes between two versions of the cluster configuration or saving changes so they can be applied at a later time using cibadmin. OPTIONS
--help, -? Print a help message. --original filename, -o filename Specify the original file against which to diff or apply patches. --new filename, -n filename Specify the name of the new file. --original-string string, -O string Specify the original string against which to diff or apply patches. --new-string string, -N string Specify the new string. --patch filename, -p filename Apply a patch to the original XML. Always use with -o. --cib, -c Compare or patch the inputs as a CIB. Always specify the base version with -o and provide either the patch file or the second version with -p or -n, respectively. --stdin, -s Read the inputs from stdin. EXAMPLES
Use crm_diff to determine the differences between various CIB configuration files and to create patches. By means of patches, easily reuse configuration parts without having to use the cibadmin command on every single one of them. 1. Obtain the two different configuration files by running cibadmin on the two cluster setups to compare: cibadmin -Q > cib1.xml cibadmin -Q > cib2.xml 2. Determine whether to diff the entire files against each other or compare just a subset of the configurations. 3. To print the difference between the files to stdout, use the following command: crm_diff -o cib1.xml -n cib2.xml 4. To print the difference between the files to a file and create a patch, use the following command: crm_diff -o cib1.xml -n cib2.xml > patch.xml 5. Apply the patch to the original file: crm_diff -o cib1.xml -p patch.xml FILES
/var/lib/heartbeat/crm/cib.xml--the CIB (minus status section) on disk. Editing this file directly is strongly discouraged. SEE ALSO
??? AUTHOR
crm_diff was written by Andrew Beekhof. [FIXME: source] 07/05/2010 CRM_DIFF(8)
All times are GMT -4. The time now is 02:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy