How to replace value of password tag in xml with blanks when special characters are there?


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
Wrench How to replace value of password tag in xml with blanks when special characters are there?

Hi All,

I am trying to replace the values inside <password> tag in an xml file but it doesn't replace certain passwords:

For eg:
Code:
Server/home/sperinc>cat TextXML.txt
<appIds>
        <entry name="AccountXref">
                <type id="ldap">
                        <realm>nam</realm>
                        <id>XXXXXX</id>
                        <password>![CDATAp6t1a7$p4u6f4*k9]></password>
                </type>
        </entry>
        <entry name="WsRmsAcctAdd">
                <type id="XXXXX">
                        <realm>xdsdev</realm>
                        <id>OLSEXTERNALCUSTOMER</id>
                        <password>57aSdfJ8</password>
                </type>
        </entry>

when i run the below script - O/P is below

Code:
awk '
BEGIN { FS = "[<|>]" }
{
        if ($2 == "password") {
                sub($3,"")
        }
        print
}
' TextXML.txt > Newfile.txt

The below password is not replaced

Code:
<appIds>
        <entry name="AccountXref">
                <type id="ldap">
                        <realm>nam</realm>
                        <id>XXXXXX</id>
                        <password>![CDATAp6t1a7$p4u6f4*k9]></password>

# 2  
If that's really what the XML looks like:

Code:
sed 's/[<]password[>].*[<]\/password[>]/<password><\/password>/' inputfile > outputfile

This User Gave Thanks to Corona688 For This Post:
# 3  
I get the below error

Code:
/home/sperinc>sed 's/[<]password[>].*[<]\/password[>]/' TextXML.txt_new > outputfile
sed: 0602-404 Function s/[<]password[>].*[<]\/password[>]/ cannot be parsed.

# 4  
You're very quick, I was still making sneaky edits. Smilie Try it now?
This User Gave Thanks to Corona688 For This Post:
# 5  
Awesome! I have been spending last one day trying to fix it via awk....You are the best! Thanks Buddy!
# 6  
You could do almost the same thing in gsub:

Code:
gsub(/<password>.*<\/password>/, "<password><\/password>");

# 7  
gsub with the awk?
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Science: Computers
Difficulty: Medium
To bypass US Munitions Export Laws, the creator of the PGP published all the source code in book form.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Moving XML tag/contents after specific XML tag within same file

Hi Forum. I have an XML file with the following requirement to move the <AdditionalAccountHolders> tag and its content right after the <accountHolderName> tag within the same file but I'm not sure how to accomplish this through a Unix script. Any feedback will be greatly appreciated. ... (19 Replies)
Discussion started by: pchang
19 Replies

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

3. Shell Programming and Scripting

Need to replace XML TAG

As per the requirement I need to replace XML tag with old to new on one of the XML file. Old<com : DEM>PHI</com : DEM> New<com : DEM>PHM</com : DEM> Please someone provide the sed command to replace above mentioned old XML tag with new XML tag (2 Replies)
Discussion started by: siva83
2 Replies

4. Shell Programming and Scripting

Find out special characters from xml file

Hi....I have a xml file which is having lots of special characters which I need to find out and put the distinct list of those into a text file. The list of special characters is not specific, it can be anything at different point of time. Can anyone help me to find out the same and list out? ... (10 Replies)
Discussion started by: Krishanu Saha
10 Replies

5. Shell Programming and Scripting

How to replace special characters?

Hi Unix Guru, I have an requirement for replace some specail characters in a file, my file came from mainframe. please see below example: when open it with vi 17896660|89059215|04/24/1998 00:00:00.000000| abc 123-453-1312^M<85>^M<85>|124557 if I run cat -v I got following:... (25 Replies)
Discussion started by: ken002
25 Replies

6. AIX

special characters in front of xml declaration

Hi I read xml files through mq and placed them on unix by using datastage as tool. I can see some special characters infront of declaration part for every xml file i have produced. below is the sample snippet when i opened the file by suing vi editor ^Z^E|^A^Z^Z<?xml version="1.0"... (1 Reply)
Discussion started by: dsdev_123
1 Replies

7. Shell Programming and Scripting

Replace special characters with Escape characters?

i need to replace the any special characters with escape characters like below. test!=123-> test\!\=123 !@#$%^&*()-= to be replaced by \!\@\#\$\%\^\&\*\(\)\-\= (8 Replies)
Discussion started by: laknar
8 Replies

8. UNIX for Dummies Questions & Answers

replace characters with spaces between tag

I have a file where in some records are having the <Start> and <End> tag. There is data before the start tag , between the tages and after the End tag. I want to replace everything between the start & end tag with equivalent spaces. Input File afsdfaksddfs<start>12678<end>sgdfgdfsf... (6 Replies)
Discussion started by: varunrbs
6 Replies

9. UNIX for Dummies Questions & Answers

printing password having special characters

Hi I have a password stored in a file (which is a user input) The password is having the special character $ say the password is pw$ord and is stored in the file pw_note I am using the following statement to store the passowrd in a variable $schema_pwd = `cat $dir/pwd_note` ; Now if i print... (4 Replies)
Discussion started by: ssuresh1999
4 Replies

10. UNIX for Dummies Questions & Answers

Parsing special characters between C and XML..

Hi, I am getting problem in parsing special characters(Like &, > or <) in XML. I need to encode my C program and send in report format to another interface which is in XML format. I do not know how to encode these special characters in C program before sending to XML format. Please help !! (1 Reply)
Discussion started by: ronix007
1 Replies

Featured Tech Videos