How to find a certain string in a file and replace it with a value from another file using sed/awk?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to find a certain string in a file and replace it with a value from another file using sed/awk?
# 15  
Old 12-17-2010
Right. That's what above script is doing.
It's reading Data.txt and putting 1st column value in a , 2nd column value in b and 3rd column value in c.
Then all occurences of b in file1 is being replaced by c.
I hope this is what you want.
This User Gave Thanks to anurag.singh For This Post:
# 16  
Old 12-17-2010
yes i think this should work!! thanks so muchh!! i will write back if i am stuck anywhere else... cheerzzzSmilie
# 17  
Old 12-20-2010
Anurag,
in the code u hgave used {0,1}, but if my value is anything, what will be in the generic case?

Last edited by paramad; 12-20-2010 at 07:13 AM..
# 18  
Old 12-20-2010
Code:
cat Stack.txt Output.txt > Data.txt
while read a b
do
    sed -i "s/$a[']\{0,1\}/$b/g" file1
done <Data.txt

Yes. a, b ,c are variables.
If only two columns, then remove 3rd variable c.
Now all occurences of a in file1 is being replaced by b.

As poer your earlier post #13.. some of values are having single quote.
If no single quote in column1, then sed will be simpler
Code:
 
sed -i "s/$a/$b/g" file1

This User Gave Thanks to anurag.singh For This Post:
# 19  
Old 12-20-2010
yes it is working... but if the values are anything... not only 0 and 1 (given in ur code) what will i write?
# 20  
Old 12-20-2010
Below Regular expresion tells that single quote may appear ZERO (means not there at all) OR ONE time.
Code:
[']\{0,1\}

This is to read F1 OR F1' in variable a
Code:
F1 1
F1' 1

This User Gave Thanks to anurag.singh For This Post:
# 21  
Old 12-20-2010
got it.. thx Smilie
now i added another line to it
ie
./yices < file1.ys
where yices is a tool and file1 is the changed file.
the result is either 'sat' or 'unsat' i want to store this result in a variable and also a file. how do i do that.. can u tell?Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace string of a file with a string of another file for matches using grep,sed,awk

I have a file comp.pkglist which mention package version and release . In 'version change' and 'release change' line there are two versions 'old' and 'new' Version Change: --> Release Change: --> cat comp.pkglist Package list: nss-util-devel-3.28.4-1.el6_9.x86_64 Version Change: 3.28.4 -->... (1 Reply)
Discussion started by: Paras Pandey
1 Replies

2. Shell Programming and Scripting

Replace string in XML file with awk/sed with string from another

Sorry for the long/weird title but I'm stuck on a problem I have. I have this XML file: </member> <member> <name>TransactionID</name> <value><string>123456789123456</string></value> </member> <member> <name>Number</name> ... (9 Replies)
Discussion started by: cozzin
9 Replies

3. Shell Programming and Scripting

Perl script to read string from file#1 and find/replace in file#2

Hello Forum. I have a file called abc.sed with the following commands; s/1/one/g s/2/two/g ... I also have a second file called abc.dat and would like to substitute all occurrences of "1 with one", "2 with two", etc and create a new file called abc_new.dat sed -f abc.sed abc.dat >... (10 Replies)
Discussion started by: pchang
10 Replies

4. Shell Programming and Scripting

Help with Passing the Output of grep to sed command - to find and replace a string in a file.

I have a file example.txt as follows :SomeTextGoesHere $$TODAY_DT=20140818 $$TODAY_DT=20140818 $$TODAY_DT=20140818I need to automatically update the date (20140818) in the above file, by getting the new date as argument, using a shell script. (It would even be better if I could pass... (5 Replies)
Discussion started by: SriRamKrish
5 Replies

5. Shell Programming and Scripting

sed or awk to replace a value in a certain line from another file containing a string

Hi experts, In my text file I have the following alot of lines like below. input.k is as follows. 2684717 -194.7050476 64.2345581 150.6500092 0 0 2684718 -213.1575623 62.7032242 150.6500092 0 0 *INCLUDE $# filename... (3 Replies)
Discussion started by: hamnsan
3 Replies

6. Shell Programming and Scripting

How to replace a string containing @ in a file using sed ?

I have a list of names and email addresses. Sample File - username=poga--poga@yahoo.com new-york,US 512834 username=poga123--poga123@hotmail.com new-jersey,US 0894753 Requirement is to replace the email ids as dummy_username@xyz.com using sed only. Output File -... (4 Replies)
Discussion started by: poga
4 Replies

7. Shell Programming and Scripting

replace (sed?) a string in file with multiple lines (string) from variable

Can someone tell me how I can do this? e.g: a=$(echo -e wert trewt ertert ertert ertert erttert erterte rterter tertertert ert) How do i replace the STRING with $a? I try this: sed -i 's/STRING/'"$a"'/g' filename.ext but this don' t work (2 Replies)
Discussion started by: jforce
2 Replies

8. Shell Programming and Scripting

replace (sed?) a single line/string in file with multiple lines (string) from another file??

Can someone tell me how I can do this? e.g: Say file1.txt contains: today is monday the 22 of NOVEMBER 2010 and file2.txt contains: the 11th month of How do i replace the word NOVEMBER with (5 Replies)
Discussion started by: tuathan
5 Replies

9. Shell Programming and Scripting

Using sed to replace a string in file with a string in a variable that contains spaces

Hi, i call my shell like: my_shell "my project name" my script: #!/bin/bash -vx projectname=$1 sed s/'PROJECT_NAME ='/'PROJECT_NAME = '$projectname/ <test_config_doxy >temp cp temp test_config_doxy the following error occurres: sed s/'PROJECT_NAME ... (2 Replies)
Discussion started by: vivelafete
2 Replies

10. Shell Programming and Scripting

find and replace a string in a file without the use of temp file

Hi - I am looking for a replacing a string in a in multiple *.sql files in directory with a new string without using a temporary file Normally I can use sed command as below for W in ls `FILE*.sql` do sed 's/OLD/NEW/g' $W > TEMPFILE.dat mv TEMPFILE.dat $W done But Here in my... (9 Replies)
Discussion started by: raghutapal
9 Replies
Login or Register to Ask a Question