replacing a line of unknown charecters in a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting replacing a line of unknown charecters in a file
# 1  
Old 07-25-2007
replacing a line of unknown charecters in a file

Hi All

I have a requirement where using a script I grep a file for string (KSG/Password in below ) , get the next line which is the password and I need replace the whole line of unknown special charecters (encrypted password) with another line as given below .

As in below i need to get the line , assign it to a variable
STRNG="<value>#!OE/+puLDjXm/Yg4W34vHvV6rdiGx0plE</value>" then replace

$STRNG with "<value>psoft123</value>"

The file i grep contains as below

<value>
</NameValuePair>
<NameValuePairPassword>
<name>KSG/Password</name>
<value>#!OE/+puLDjXm/Yg4W34vLvV6rdiGx0plE</value>
</NameValuePairPassword>
<NameValuePair>
<name>KSG/DB_User</name>
<value>vass</value>
</NameValuePair>

when I use 'sed' as below , I get the error "sed:command garbled"

sed 's/'$STRNG'/'<value>psoft123</value>'/' abc.xml > abc1.xml

+ sed s/ <value>#!OE/+puLDjXm/Yg4W34vHvV6rdiGx0plE</value>/<value>psoft123</value>/ abc.xml
+ 1> abc1.xml
sed: command garbled: s/

Can some one please help me with this

Thanks
Malavm
# 2  
Old 07-25-2007
Code:
sed '/KSG\/Password/{n;s#<value>.*</value>#<value>psoft123</value>;}' abc.xml

# 3  
Old 07-25-2007
Hi

Thanks for the reply but I am still getting the error

bash-2.05$ sed '/KSG\/Password/{n;s#<value>.*</value>#<value>psoft123</value>;}' abc.xml
sed: command garbled: /KSG\/Password/{n;s#<value>.*</value>#<value>psoft123</value>;}
# 4  
Old 07-25-2007
if you are open to alternative, here's a Python script:
Code:
#!/usr/bin/python
data=open("file").readlines()
data=[i.strip() for i in data]
for num,line in enumerate(data):
    if "KSG/Password" in line:
        data[num+1] = "<value>psoft123</value>"

for i in data:
 print i

output:
Code:
 # ./test.py #or use > to redirect to new file
<value>
</NameValuePair>
<NameValuePairPassword>
<name>KSG/Password</name>
<value>psoft123</value>
</NameValuePairPassword>
<NameValuePair>
<name>KSG/DB_User</name>
<value>vass</value>
</NameValuePair>

# 5  
Old 07-25-2007
I don't know python scripting , so I wont be able to complete my whole script ,
thank you for the reply
# 6  
Old 07-25-2007
Quote:
Originally Posted by malavm
Hi

Thanks for the reply but I am still getting the error

bash-2.05$ sed '/KSG\/Password/{n;s#<value>.*</value>#<value>psoft123</value>;}' abc.xml
sed: command garbled: /KSG\/Password/{n;s#<value>.*</value>#<value>psoft123</value>;}
sorry - my bad:
Code:
sed '/KSG\/Password/{n;s#<value>.*</value>#<value>psoft123</value>#;}' abc.xml

# 7  
Old 07-26-2007
Code:
awk '{ if ( match($0, "KSG/Password") ) { getline; print "<value>psoft123<\/value>" } else { print } }' filename

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replacing last line with awk and change the file name

Hi Guys, I am having a set of date format files files where I am performing the below set of operations in the files . I Need to replace the last line value with specific date which is a pipe delimited file. for egf1_20140101.txt aa|aus|20140101|yy bb|nz|20140101|yy . .... (19 Replies)
Discussion started by: rohit_shinez
19 Replies

2. Shell Programming and Scripting

Replacing a line in a file

Hi all, I need to replace a line export TZ=xxxxxxxx with the line export TZ=$1 Now, "xxxxxxxx" in the above line is some unknown string and $1 is a parameter. I want the content of $1 to be replaced with "xxxxxxxx". Kindly help me how to do this in the shell scripting. (5 Replies)
Discussion started by: ddeeps2610
5 Replies

3. Shell Programming and Scripting

Replacing a line in a file using sed

I have a file which has a list in it pop triangle people slow fast What I want to do is search this list and replace people with humans do the list looks like this: pop triangle human slow fast I think i use something like this.... if cat /list.txt | grep -q 'people' ; then (9 Replies)
Discussion started by: digitalviking
9 Replies

4. Shell Programming and Scripting

Replacing line 'i' of file1 with line 'j' of file 2

Hi All, As mentioned in the title I have two text files and I would like to replace line number 5 of file #1 with line number 4 of file #2 e.g. file 1 wqwert 4.4464002 3 319 286 369 46.320002 56.150002 45.100002 1 1 1 0.723 (12 Replies)
Discussion started by: f_o_555
12 Replies

5. UNIX for Dummies Questions & Answers

Replacing first line of file by >filename

Hi All, I have a set of files named S5_SK1.chr01 S5_SK1.chr02 S5_SK1.chr03 ..... and the first line of these files is >SK1.chr01 >SK1.chr02 >SK1.chr03 ..... Can anyone suggest how I can change the first line of all these files with the filename itself? So my expected output for the first lines of... (14 Replies)
Discussion started by: pawannoel
14 Replies

6. Shell Programming and Scripting

Replacing space with T only in the 1st line of the file

Hi Masters , I have a file whose header is like HDRCZECM8CZCM000000881 SVR00120100401160828+020020100401160828+0200CZK There is a space between 1 and S ,my req is to chng the space to T I tried echo `head -1 CDCZECM8CZCM000000881` | sed 's/ /T/' it works ,but how can I modify in... (5 Replies)
Discussion started by: Pratik4891
5 Replies

7. Shell Programming and Scripting

replacing field in specific line in a file

Hi, I know there are lots of threads on replacing text within files, usually using sed or awk. However, I find it hard to adapt examples that I found to my specific case. I am kind of new to UNIX and have hard times learning the syntax either for sed or awk so I would appreciate any help. Here's... (5 Replies)
Discussion started by: vytenis
5 Replies

8. Shell Programming and Scripting

Replacing the last character for each line in a file

Hello, I have a csv file and will like to replace the last character of each line in the file with Z (20 Replies)
Discussion started by: 123script
20 Replies

9. Shell Programming and Scripting

Replacing a line in a file - HELP!!!

I have a problem in the following code ... while read line do #Get Line Number OLDLINE=`sed -n $Lineno $filename` echo "Un Changed Line : "$OLDLINE echo "Enter a New Pattern : " read NewPattern <&1 echo "NewPattern :"$NewPattern NEWLINE=`cat $filename | sed -n... (1 Reply)
Discussion started by: maxmave
1 Replies

10. UNIX for Advanced & Expert Users

replacing first line or lines in a file

hey guys, how do i replace only a line within a file without messing up the rest of the contents of the file? see, if possible can you guys give me a straight forward way to do this. i dont want a complex command. what i mean is i know i can accomplish this by using sed, well, i think i can,... (3 Replies)
Discussion started by: Terrible
3 Replies
Login or Register to Ask a Question