How to replace the filed at file 1 by looking the content at file 2?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to replace the filed at file 1 by looking the content at file 2?
# 1  
Old 02-16-2016
How to replace the filed at file 1 by looking the content at file 2?

Suppose I have two file which content like this:

File 1.txt
Code:
Cetner 1, machine A             
Center 2, machine B             
Center 3, machine A             
Center 4, machine C

............................

File 2.txt
Code:
machine A, 10.10.10.1
machine B, 10.10.10.2
machine C, 10.10.10.3

Expert output:
File 1.txt
Code:
Center 1, 10.10.10.1
Center 2, 10.10.10.2
Center 3, 10.10.10.1
Center 4, 10.10.10.3

Please help!

Last edited by Don Cragun; 02-16-2016 at 06:40 PM.. Reason: Add CODE and ICODE tags.
# 2  
Old 02-16-2016
Hi, solution with sed:
Code:
sed 's/^/s, /;s/$/,/' file2.txt | sed -f - file1.txt

Regards.
This User Gave Thanks to disedorgue For This Post:
# 3  
Old 02-16-2016
Code:
join -t, -12 -21 <(sort -t, -k2 file1) file2 | cut -d, -f2-
Center 3, 10.10.10.1
Cetner 1, 10.10.10.1
Center 2, 10.10.10.2
Center 4, 10.10.10.3

This User Gave Thanks to RudiC For This Post:
# 4  
Old 02-16-2016
There are similar questions with awk solutions in this forum already.
A little challenge is the space after the comma.
The following leaves the original field if no match is found in File2.txt,
and can even handle an empty File2.txt.
Code:
awk 'FILENAME=="-" {A[$1]=$2; next} {print $1 FS (($2 in A) ? A[$2] : $2)}' FS=", " - File1.txt < File2.txt

This User Gave Thanks to MadeInGermany For This Post:
# 5  
Old 02-16-2016
Many thanks to all of you SmilieSmilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace content from a file and save

Hi, Right now there is a file called 'qm.ini' which is owned by mqm:mqm and I am trying to replace a line from this file with something else and save. I am using the below perl command to replace and save within a shell script with a different user called 'mqadm' which is also part of mqm... (1 Reply)
Discussion started by: bdpl
1 Replies

2. Shell Programming and Scripting

Replace file name with Space as content

Hi, I am having a files in my directory like this: 2014 1049_file1.txt 2014 1050_file2.txt 2014 1110_file3.txt 2014 1145_file4.txt 2014 2049_file5.txt I need to replace the above file names like this without changing the content of filename: file1.txt file2.txt file3.txt... (10 Replies)
Discussion started by: rohit_shinez
10 Replies

3. Shell Programming and Scripting

Replace string in a file with some content indexed from another file.

We have two files file 1: (usually small, ~100 lines), each line contains a : separated index, value e.g 2: Apple 1: Banana 5: Pear 7: Orange File 2: (usually large, 10 million lines or more), each line contains a single string value. e.g xyz1 xyz2 xyz3 xyz4 xyz5 xyz6 xyz7 Now... (2 Replies)
Discussion started by: AlokKumbhare
2 Replies

4. Shell Programming and Scripting

How to replace multiple file content?

Hi Gurus, I need replace multiple files content. the file name pattern likes currentfile_code_* the content pattern in the file like text=value I need replace the content as text=abcde Thanks in advance (7 Replies)
Discussion started by: ken6503
7 Replies

5. Shell Programming and Scripting

Sed: replace content from file with the content from file

Hi, I am having trouble while using 'sed' with reading files. Please help. I have 3 files. File A, file B and file C. I want to find content of file B in file A and replace it by content in file C. Thanks a lot!! Here is a sample of my question. e.g. (file A: a.txt; file B: b.txt; file... (3 Replies)
Discussion started by: dirkaulo
3 Replies

6. Shell Programming and Scripting

Replace the content of file with incremented value

I have a file myfile with only one value 1000.I am using it in a shell script.Each time i run the script,the file shud get incremented by 1. I have used the below code for incrementing the value- curr=`cat myfile` echo $curr curr=`expr $curr + 1` But i am not sure how to save this replaced... (2 Replies)
Discussion started by: saga20
2 Replies

7. Shell Programming and Scripting

Need to replace particular content in a xml file

Hi, My requirement is to find a text and replace it with another in a XML file. I am new to Unix,Please provide some suggestion to achieve. Find: <Style ss:ID="ColumnHeader1"> Replace with: <Style ss:ID="ColumnHeader1"> <Borders> <Border ss:Position="Bottom"... (4 Replies)
Discussion started by: cnraja
4 Replies

8. Shell Programming and Scripting

replace blank field in file 2 with content of file 1

Something like vlookup in excel, column 2 in file 2 is blank and should be replaced by column 2 in file 1 based on comparing column 1 in both files. file1 Code: 1234~abc~b~c~d~e~f~g~h~09/10/09 5678~def~b~c~d~e~f~g~h~12/06/10 8910~hij~b~c~d~e~f~g~h~03/28/13... (1 Reply)
Discussion started by: sigh2010
1 Replies

9. Shell Programming and Scripting

Replace file content after checking value

Our system is receiving one feed from the third party. One of the field in the flat file is ID which id from position 19 to 27. In some cases this ID is coming as 9 zeros (000000000) or 1 right padded zero. ( 0) For these specific records I want to replace fthis field with blank... (3 Replies)
Discussion started by: varunrbs
3 Replies

10. Shell Programming and Scripting

How to replace some content of a file and write with a new name

Hi I have a control file which looks like this LOAD DATA INFILE '/home/scott/XXX.dat' PRESERVE BLANKS ............. ............. how can i change the content of this file and replace the file in the second line with anothe file name and write it back with another name to the disk? ... (5 Replies)
Discussion started by: mwrg
5 Replies
Login or Register to Ask a Question