Find and replace


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Find and replace
# 1  
Old 07-22-2014
Find and replace

Hi,

i am trying to find and replace .har file in unix, i could see the result with replaced string but the file format is changed. could you please help me in replacing the file without the file format modification

Code:
inputstring=$(cat Test_project.har)
find="Pharmacy Interface Module"
echo $inputstring | sed -e "s/${find}/jack/g">outputfile.har
final=$(cat outputfile.txt)
find="STANDARD PROJECT STRUCTURE - NEW"
echo $final | sed -e "s/${find}/jackfinal/g">finalreport.har

# 2  
Old 07-22-2014
What is the output from the above command and what is that you are expecting
# 3  
Old 07-22-2014
the below is the output command
Code:
[PROJECT] bCopyAccess=1 =37 Name=jackfinal Template=1 Active=0 =5 Note= CreateUserGroup=0 [SecureAccess] AccessMethod=SecureAccess size=1 nameUserGroup=Administrator =5 Note= [UpdateAccess]
 AccessMethod=UpdateAccess size=1 nameUserGroup=Administrator =5 Note= [ExecuteAccess] AccessMethod=ExecuteAccess size=3 nameUserGroup=CMG Administrator =5 Note= nameUserGroup=jack - Develo
pment =5 Note= nameUserGroup=jack - Support =5 Note= [ViewAccess]

but my expectation is
Code:
[PROJECT]

bCopyAccess=1
=37
Name=jackfinal

Template=1
Active=0
=5
Note=
CreateUserGroup=0

[SecureAccess]
AccessMethod=SecureAccess
size=1
nameUserGroup=Administrator
=5
Note=

# 4  
Old 07-22-2014
try
Code:
sed -e "s/${find}/jackfinal/g"<input>output

# 5  
Old 07-22-2014
Your immediate problem is that if you're going to do it this way, you have to change echo $variable to echo "$variable".

But, it would be much better to change:
Code:
inputstring=$(cat Test_project.har)
find="Pharmacy Interface Module"
echo $inputstring | sed -e "s/${find}/jack/g">outputfile.har
final=$(cat outputfile.txt)
find="STANDARD PROJECT STRUCTURE - NEW"
echo $final | sed -e "s/${find}/jackfinal/g">finalreport.har

to:
Code:
find="Pharmacy Interface Module"
sed -e "s/${find}/jack/g" Test_project.har >outputfile.har
find="STANDARD PROJECT STRUCTURE - NEW"
sed -e "s/${find}/jackfinal/g" outputfile.har >finalreport.har

or more simply:
Code:
find="Pharmacy Interface Module"
find2="STANDARD PROJECT STRUCTURE - NEW"
sed -e "s/$find/jack/g" -e "s/$find2/jackfinal/g" Test_project.har >finalreport.har

This User Gave Thanks to Don Cragun For This Post:
# 6  
Old 07-22-2014
As per the request i have changed my code to
Code:
inputstring=$(cat Test_project.har)
find="Pharmacy Interface Module"
echo $inputstring | sed -e "s/${find}/jack/g"<input>output.har

now i am getting the error as

Code:
A file or directory in the path name does not exist.
unixtest.sh[3]: input: 0403-016 Cannot find or open the file.
dlp103:/harvest/scm/scripts>>unixtest.sh: There is no process to read data written to a pipe

---------- Post updated at 03:59 PM ---------- Previous update was at 03:51 PM ----------

Thanks a lot Don, it is working as expected.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find and replace?

Hi All, I have data like below 1 CREATE TABLE temp123 2 ( 3 col1 INTEGER, 4 col2 CHAR(3) CHARACTER SET LATIN NOT CASESPECIFIC, 5 col3 DECIMAL(19,0), 6 col4 VARCHAR(80) CHARACTER SET LATIN NOT CASESPECIFIC, 7 start_dt DAte FORMAT 'YY/MM/DD', 8 end_dt DATE FORMAT 'YY/MM/DD', 9 datecol1... (6 Replies)
Discussion started by: baranisachin
6 Replies

2. Shell Programming and Scripting

Find and Replace

i am having a file test1.txt and its contents is as follows. <abcaaa bbb ccc ddd> <dddeeeffff> <my computer> <abcmydocuments> Now I need to find the text abc and should be replaced as follows. <abc> <dddeeeffff> <my computer> <abc> First line has the text "abc" and it has to be... (3 Replies)
Discussion started by: kmanivan82
3 Replies

3. Shell Programming and Scripting

Find/Replace

I have the following requirement in the shell script 1. I have more than 200 shell script files. I need to find out how many shell scripts have "sqlplus /" in the shell file 2. I need to replace all the shell scripts in the single command for example: connect scott/scott replace as ... (6 Replies)
Discussion started by: pmsuper
6 Replies

4. Solaris

find/replace?

Dear All To find a file, according to you, I tried as: #find / -name file-name -print To find a string inside the files , I tried as : #find / -name "*" |xargs grep "string" Can you please let me know how can I try for find/replace (i.e. finding the intended string inside the text files... (6 Replies)
Discussion started by: hadimotamedi
6 Replies

5. Shell Programming and Scripting

Find Replace

Need to convert echo "7 6" to $7,$6 But the count of numbers can increase say echo "7,6,8,9" tried this didn't work echo "7 6" | sed 's/\(*\)/\1/' But did not help much (3 Replies)
Discussion started by: dinjo_jo
3 Replies

6. UNIX for Dummies Questions & Answers

find and replace

I am looking to find and replace a string in a file, can anyone suggest a global find and replace. looked at previous replies on other queries but none seem to address what i am looking for. aint familiar with sed so trying to use ordinary unix commands if possible Thanks in advance (2 Replies)
Discussion started by: SummitElse
2 Replies

7. Shell Programming and Scripting

find and replace

hi, i have a data in a file like below: 100 8388kmn844., 8488 200 8398kmn894., 8398 i want replace from kmn to . as null. output should be 100 8388, 8488 200 8398, 8398 Plz help. Thanks in advance (1 Reply)
Discussion started by: javeed7
1 Replies

8. Shell Programming and Scripting

find and replace

Hi, There are some "n" files in a directory which contains comman string.A command to find and replace the string in all the files without looping. like if i am in a directory : # find ./ -name ".txt" | xargs sed -e 's/test/tst' Upto here is performed correctly and i want to... (4 Replies)
Discussion started by: rakshit
4 Replies

9. UNIX for Advanced & Expert Users

Please help with find and replace:

Hi I am trying to find a product code hightlighted in red, and re-insert it at another place on the same file. I shall be grateful if anyone can help me with this. Stuck and have deadline!!:confused: Original Line: (I can get source data in one of these two formats) ISD=977155185403901+DIE... (2 Replies)
Discussion started by: gloovy_tb
2 Replies

10. UNIX for Dummies Questions & Answers

find and replace

I have statement like this column_id.columnname=="value" in unix i want to modify above statement to variable1=="value" that means i have to replace the string before "==" by string "variable1" second catch is, in statement instead of "==" you can have any arithmatic comarision... (7 Replies)
Discussion started by: mahabunta
7 Replies
Login or Register to Ask a Question