search and replace


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting search and replace
# 1  
Old 08-26-2010
search and replace

Hi,

I am trying to obtain a string from a file and replace it in another file. Here is my code
Code:
# Environment Variables
CRED_PATH=/fxxxx/testpwd/
CRED_FILE=password.credential
DOMAIN_CFG=/fxxxx/testpwd/
CFG_FILE=file.xml
NEW_PWD=`cat ${CRED_PATH}${CRED_FILE}`
#echo $NEW_PWD
CURRENT_STR=`awk '/<password encrypted="true">/' ${DOMAIN_CFG}${CFG_FILE}`
echo $CURRENT_STR
perl -pi -e 's/'${CURRENT_STR}'/'<password encrypted="false">$NEW_PWD</password>'/g' ${DOMAIN_CFG}${CFG_FILE};

When i run the script i am getting this error
Code:
Substitution pattern not terminated at -e line 1.

Appreciate any help

Thanks

Last edited by Franklin52; 08-27-2010 at 03:19 AM.. Reason: Please use code tags!
# 2  
Old 08-26-2010
Change Perl line to:
Code:
perl -pi -e "s/${CURRENT_STR}/<password encrypted=\"false\">${NEW_PWD}<\/password>/g" ${DOMAIN_CFG}${CFG_FILE};

# 3  
Old 08-27-2010
Thanks Bartus11. This worked.

However, it is replacing the whole file with the whole file with the string in perl statement.

Any thoughts??

---------- Post updated at 01:30 PM ---------- Previous update was at 09:54 AM ----------

Just realized the the variable $NEW_PWD is not getting substituted at all. Tried multiple options using echo...still not luck

any input would be helpful

THanks,

---------- Post updated at 03:26 PM ---------- Previous update was at 02:30 PM ----------

THe variable is getting resolved now. The only issue is i'm getting the following error

Can't open perl script "s/${CURRENT_STR}/<password encrypted="false">test1234</password>/": No such file or directory


Not sure what is missing. Any help is appreciated. Here is the script i'm using

Code:
# Environment Variables
CRED_PATH=/ftest/testpwd/
CRED_FILE=password.credential
DOMAIN_CFG=/ftest/testpwd/
CFG_FILE=config.xml
NEW_PWD=`cat ${CRED_PATH}${CRED_FILE}`
#echo $NEW_PWD
CURRENT_STR=`awk '/<password encrypted="true">/' ${DOMAIN_CFG}${CFG_FILE}`
perl -pi 's/${CURRENT_STR}/<password encrypted="false">'${NEW_PWD}'</password>/' ${DOMAIN_CFG}${CFG_FILE} ${DOMAIN_CFG}${CFG_FILE};


Last edited by Scott; 08-27-2010 at 04:33 PM.. Reason: Code tags, please...
# 4  
Old 08-27-2010
Code:
perl -pi -e 's/${CURRENT_STR}/<password encrypted="false">'${NEW_PWD}'</password>/' ${DOMAIN_CFG}${CFG_FILE} ${DOMAIN_CFG}${CFG_FILE};

# 5  
Old 08-27-2010
Thanks again bartus11. I tried that but the new string is being appended to eachline in the file.

The output of CURRENT_STR is

Code:
<password encrypted="true">+abcd=!password>

I am trying to replace this with

Code:
<password encrypted="false">'${NEW_PWD}'</password>/

Here is the last line of the script that i changed

Code:
perl -pi -e 's/'${CURRENT_STR}'/<password encrypted="false">'${NEW_PWD}'<\/password>/' ${DOMAIN_CFG}${CFG_FILE} ${DOMAIN_CFG}${CFG_FILE};

Please advise what is it that i'm missing here. Thanks again!

Last edited by Scott; 08-27-2010 at 05:25 PM.. Reason: Code tags, PLEASE!
# 6  
Old 09-01-2010
I am running this issue and hepofully this is the last. When i run the following script i am getting this error

Substitution pattern not terminated at -e line 1.

Code:
CRED_PATH=/fxxxx/testpwd/
CRED_FILE=password.credential
DOMAIN_CFG=/fxxxx/testpwd/
CFG_FILE=xlconfig.xml
NEW_PWD=`cat ${CRED_PATH}${CRED_FILE}`
#echo $NEW_PWD
CURRENT_STR=`awk '/<password encrypted="true">/' ${DOMAIN_CFG}${CFG_FILE}`
#echo $CURRENT_STR
#NEW_STR=`awk 'sub|'${CURRENT_STR}'|<password encrypted="false">'${NEW_PWD}'</password>|' ${DOMAIN_CFG}${CFG_FILE}`
encrypted="false">${NEW_PWD}</password>' ${DOMAIN_CFG}${CFG_FILE}
encrypted="false">"${NEW_PWD}"</password>|' ${DOMAIN_CFG}${CFG_FILE}
perl -pi -e 's/'${CURRENT_STR}'/<password encrypted="false">'${NEW_PWD}'<\/password>/' ${DOMAIN_CFG}${CFG_FILE} ${DOMAIN_CFG}${CFG_FILE};

Please advise

Last edited by Franklin52; 10-02-2010 at 08:14 AM.. Reason: Correcting code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Nested search in a file and replace the inner search

Hi Team, I am new to unix, please help me in this. I have a file named properties. The content of the file is : ##Mobile props east.url=https://qa.east.corp.com/prop/end west.url=https://qa.west.corp.com/prop/end south.url=https://qa.south.corp.com/prop/end... (2 Replies)
Discussion started by: tolearn
2 Replies

2. Shell Programming and Scripting

Vi search and replace

Hi, I need help with search and replace for the following string using vi .. if ];then to if ];then can this be done in one search and replace or need multiple ? Thanks (3 Replies)
Discussion started by: talashil
3 Replies

3. UNIX for Dummies Questions & Answers

Help with search and replace or search only of / in vi

Hi all, I am editing a config file in vi that has a / on it. At the moment, search and replace looks alright as am able to use a # as a temporary separator, i.e. :,$s#/u01/app#/u02/app#g For doing a search, I have to escape the / do. So if I want to search for /u01/app, I am having to do... (2 Replies)
Discussion started by: newbie_01
2 Replies

4. UNIX for Dummies Questions & Answers

Search and Replace

I am trying to search and replace using two different files with strict search rules. One file contain some data and the other file contain some numbers as shown below. DataFile.txt >L1_T1 text data... text data.. >L1_T1 text data... text data.. >L1_T1 text data... text data.. ........ (4 Replies)
Discussion started by: Fahmida
4 Replies

5. Shell Programming and Scripting

perl search and replace - search in first line and replance in 2nd line

Dear All, i want to search particular string and want to replance next line value. following is the test file. search string is tmp,??? ,10:1 "???" may contain any 3 character it should remain the same and next line replace with ,10:50 tmp,123 --- if match tmp,??? then... (3 Replies)
Discussion started by: arvindng
3 Replies

6. Shell Programming and Scripting

Search and Replace

Hi!!! I have following xml file with 3 sections. aaa1bbb-ccc default aaa1bbbdd default 0 11 23 * * aaa2bbb-ccc default aaa2bbbdd default 0 11 23 * * aaa3bbb-ccc default aaa3bbbdd default 0 15 23 * * (15 Replies)
Discussion started by: tdev457
15 Replies

7. Shell Programming and Scripting

awk - replace number of string length from search and replace for a serialized array

Hello, I really would appreciate some help with a bash script for some string manipulation on an SQL dump: I'd like to be able to rename "sites/WHATEVER/files" to "sites/SOMETHINGELSE/files" within the sql dump. This is quite easy with sed: sed -e... (1 Reply)
Discussion started by: otrotipo
1 Replies

8. Shell Programming and Scripting

Search and replace

I have a script which has several occurences of statement like command: $UCMDPATH/xyz abc I would like to replace the entire line starting from $UCMDPATH with the ls -ltr command eg: Prior to change:: command: $UCMDPATH/xyz abc After change: command: ls -ltr Is there a way to do... (12 Replies)
Discussion started by: jobbyjoseph
12 Replies

9. Shell Programming and Scripting

Perl: Search for string on line then search and replace text

Hi All, I have a file that I need to be able to find a pattern match on a line, search that line for a text pattern, and replace that text. An example of 4 lines in my file is: 1. MatchText_randomNumberOfText moreData ReplaceMe moreData 2. MatchText_randomNumberOfText moreData moreData... (4 Replies)
Discussion started by: Crypto
4 Replies

10. Shell Programming and Scripting

search and replace

hi all, the problem is like this...... i setup a file (Env.txt) which handles all the values. NAME1=xxxxxx, where xxxxx is the value NAME2=xxxxxx GGGGG=uusufu I have 6 files, where i will append the values from env.txt. These files has no specific format. all i want is to append the... (1 Reply)
Discussion started by: tungaw2004
1 Replies
Login or Register to Ask a Question