Visit Our UNIX and Linux User Community


Replace a string with each line from another file repeatedly


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace a string with each line from another file repeatedly
# 1  
Old 08-26-2013
Replace a string with each line from another file repeatedly

I don't know if it's been asked before but seems i gave up seeking.

i have 2 files :
file1.txt
Code:
Monday XXXX
Tuesday XXXX
XXXX Wednesday
Thursday XXXX

XXXX is in every lines of file1.txt and i want to replace them with each line in file2.txt:
Code:
home
school
cinema

so output file is:
Code:
Monday home
Tuesday home
home Wednesday
Thursday home
Monday school
Tuesday school
school Wednesday
Thursday school
Monday cinema
Tuesday cinema
cinema Wednesday
Thursday cinema

I got the file2.txt has many lines so i can't do it by hand. So, i need a solution for it.
Thanks for your time.
# 2  
Old 08-26-2013
Code:
while read LINE
do
 sed 's/XXXX/'$LINE'/' file1.txt >>file3.txt
done<file2.txt
cat file3.txt

This User Gave Thanks to krishmaths For This Post:
# 3  
Old 08-26-2013
Quote:
Originally Posted by krishmaths
Code:
while read LINE
do
 sed 's/XXXX/'$LINE'/' file1.txt >>file3.txt
done<file2.txt
cat file3.txt

thanks for quickly help.but i got :
-bash: syntax error near unexpected token `done'
# 4  
Old 08-26-2013
Can you include set -x at the beginning of the script and execute? Or execute using sh -x scriptname.sh
This User Gave Thanks to krishmaths For This Post:
# 5  
Old 08-26-2013
Quote:
Originally Posted by krishmaths
Can you include set -x at the beginning of the script and execute? Or execute using sh -x scriptname.sh
sorry, i don't know well :
Code:
sed 's/XXXX/'$LINE'/' file1.txt >>file3.txt
set -x done file2.txt
cat file3.txt

and i get file3:
Code:
Monday
Tuesday
     Wednesday
Thursday

Do i miss sth?

Last edited by Franklin52; 08-26-2013 at 07:43 AM.. Reason: Adding code tags
# 6  
Old 08-26-2013
Do you use bash or ksh?
Do you have the first line of the script as #!/bin/bash based on the shell?
Can you paste the entire script for us to debug?
# 7  
Old 08-26-2013
I do suggest that you post the complete script.
I do not see the hash bang #!/bin/sh
And you have added set -x before done, not in start of script

Previous Thread | Next Thread
Test Your Knowledge in Computers #920
Difficulty: Medium
The Unix time number is zero at the Unix epoch, and increases by exactly 86400 per day since the epoch.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Search for a string,delete the line and replace with new string in a file

Hi Everyone, I have a requirement in ksh where i have a set of files in a directory. I need to search each and every file if a particular string is present in the file, delete that line and replace that line with another string expression in the same file. I am very new to unix. Kindly help... (10 Replies)
Discussion started by: Pradhikshan
10 Replies

2. Shell Programming and Scripting

Replace line in file with line in another file based on matching string

HI Can any one guide me how to achieve this task. I have 2 files env.txt #Configuration.Properties values identity_server_url = http://identity.test-hit.com:9783/identity/service/user/register randon_password_length = 6 attachment_file_path = /pass/temp/attachments/... (1 Reply)
Discussion started by: nikilbr86
1 Replies

3. Shell Programming and Scripting

Replace and add line in file with line in another file based on matching string

Hi, I want to achieve something similar to what described in another post: The difference is I want to add the line if the pattern is not found. File 1: A123, valueA, valueB B234, valueA, valueB C345, valueA, valueB D456, valueA, valueB E567, valueA, valueB F678, valueA, valueB ... (11 Replies)
Discussion started by: jyu3
11 Replies

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

5. Shell Programming and Scripting

Replace line in file with line in another file based on matching string

Hi I am not the best scripter in the world and have run into a issue which you might be able to guide me on... I have two files. File1 : A123, valueA, valueB B234, valueA, valueB C345, valueA, valueB D456, valueA, valueB E567, valueA, valueB F678, valueA, valueB File2: C345,... (5 Replies)
Discussion started by: luckycharm
5 Replies

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

7. Shell Programming and Scripting

To trim Certain field in a line of a file and replace the new string in that position

To trim 3rd field in for all the lines of a file and replace the modified string in that particular field. For example i have a file called Temp.txt having content Temp.txt ----------------- 100,234,M1234 400,234,K1734 300,345,T3456 ---------------- So the modified file output should... (4 Replies)
Discussion started by: rpadhi
4 Replies

8. Shell Programming and Scripting

replace string in file.1 with line from file.2

Hello all, the title makes this sound simple, and maybe it should be. This is by code: #!/bin/sh cp ch25.txt ch25.fn.tex n=`grep -c '^\' ch25_footnotes.txt > temp` r=`awk -F] '{print $2}' temp` `sed 's/\/\\footnote{$r}/' ch25.fn.tex` done This is what I am trying to... (6 Replies)
Discussion started by: ccox85
6 Replies

9. Shell Programming and Scripting

Replace string in a file within a range of line

Hi, I want to replace the srting '; with ABCD'; in a file from line 1 to line 65. Is there any single command to do it without using awk Thanks for quick reply https://www.unix.com/images/misc/progress.gif (3 Replies)
Discussion started by: tosattam
3 Replies

10. UNIX for Dummies Questions & Answers

how can search a String in one text file and replace the whole line in another file

i am very new to UNIX plz help me in this scenario i have two text files as below file1.txt name=Rajakumar. Discipline=Electronics and communication. Designation=software Engineer. file2.txt name=Kannan. Discipline=Mechanical. Designation=CADD Design Engineer. ... (6 Replies)
Discussion started by: kkraja
6 Replies

Featured Tech Videos