merging column from two files based on identifier


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting merging column from two files based on identifier
# 1  
Old 06-12-2009
merging column from two files based on identifier

Hi,

I have two files consisting of two columns. So I want to merge column 2 if column 1 is the same. So heres an example of what I mean.

FILE1

driver 444
car 333
hat 222

FILE2

driver 333
car 666
hat 999

So I want to merge the column 2's together so there is no gap... so the output file will look like this...

driver 444333
car 333666
hat 222999

Currently I am using this script but I can only get it to work for column 2 if column 1 is removed.

awk 'NR==FNR { a[c=FNR]=$0; next } { printf "%-8s%s\n", a[FNR], $0 } END { for(i=FNR+1;i<=c;i++) print a[i] }' FILE2.txt FILE2.txt > output.txt

Last edited by phil_heath; 06-12-2009 at 12:51 AM..
# 2  
Old 06-12-2009
Quote:
Originally Posted by phil_heath
Hi,

I have two files consisting of two rows. So I want to merge row 2 if row1 is the same. So heres an example of what I mean. -- is it row or column

FILE1

driver 444
car 333
hat 222

FILE2

driver 333
car 666
hat 999

So I want to merge the column 2's together so there is no gap... so the output file will look like this...

driver 444333
car 333666
hat 222999

Currently I am using this script but I can only get it to work if column 2 if column 1 is removed. -- column 1 or column 2

awk 'NR==FNR { a[c=FNR]=$0; next } { printf "%-8s%s\n", a[FNR], $0 } END { for(i=FNR+1;i<=c;i++) print a[i] }' FILE2.txt FILE2.txt > output.txt
Please give clear requirement.
# 3  
Old 06-12-2009
ooops im sorry

sorry for my errors.... I mean columns...
# 4  
Old 06-12-2009
If you dont mind my giving you a simple piece of code... Smilie
Code:
while read name value_in_file1
do
   value_in_file2=`grep $name file2.txt |awk '{print $2}'`
   echo $name $value_in_file1$value_in_file2
done < file1.txt

# 5  
Old 06-12-2009
Code:
 
awk '{a[$1]=a[$1]$2} END {for(i in a) print i , a[i]}' file1 file2

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Merging rows based on same ID in First column.

Hellow, I have a tab-delimited file with 3 columns : BINPACKER.13259.1.p2 SSF48239 BINPACKER.13259.1.p2 PF13243 BINPACKER.13259.1.p2 G3DSA:1.50.10.20 BINPACKER.13259.2.p2 SSF48239 BINPACKER.13259.2.p2 PF13243 BINPACKER.13259.2.p2 G3DSA:1.50.10.20... (7 Replies)
Discussion started by: anjaliANJALI
7 Replies

2. UNIX for Beginners Questions & Answers

Merging multiple lines into single line based on one column

I Want to merge multiple lines based on the 1st field and keep into single record. SRC File: AAA_POC_DB.TAB1 AAA_POC_DB.TAB2 AAA_POC_DB.TAB3 AAA_POC_DB.TAB4 BBB_POC_DB.TAB1 BBB_POC_DB.TAB2 CCC_POC_DB.TAB6 OUTPUT ----------------- 'AAA_POC_DB','TAB1','TAB2','TAB3','TAB4'... (10 Replies)
Discussion started by: raju2016
10 Replies

3. UNIX for Dummies Questions & Answers

File merging based on column patterns

Hello :) I am in this situation: Input: two tab-delimited files, `File1` and `File2`. `File2` (`$2`) has to be parsed by patterns found in `File1` (`$1`). Expected output: tab-delimited file, `File3`. `File3` has to contain the same rows as `File2`, plus the corresponding value in... (5 Replies)
Discussion started by: dovah
5 Replies

4. Shell Programming and Scripting

Sum column values based in common identifier in 1st column.

Hi, I have a table to be imported for R as matrix or data.frame but I first need to edit it because I've got several lines with the same identifier (1st column), so I want to sum the each column (2nd -nth) of each identifier (1st column) The input is for example, after sorted: K00001 1 1 4 3... (8 Replies)
Discussion started by: sargotrons
8 Replies

5. UNIX for Dummies Questions & Answers

Merging lines based on one column

Hi, I have a file which I'd like to merge lines based on duplicates in one column while keeping the info for other columns. Let me simplify it by an example: File ESR1 ANASTROZOLE NA FDA_approved ESR1 CISPLATIN NA FDA_approved ESR1 DANAZOL agonist NA ESR1 EXEMESTANE NA FDA_approved... (3 Replies)
Discussion started by: JJ001
3 Replies

6. Shell Programming and Scripting

Merging columns based on one or more column in two files

I have two files. FileA.txt 30910 rs7468327 36587 rs10814410 91857 rs9408752 105797 rs1133715 146659 rs2262038 152695 rs2810979 181843 rs3008128 182129 rs3008131 192118 rs3008170 FileB.txt 30910 1.9415219673 0 36431 1.3351312477 0.0107191428 36587 1.3169171182... (2 Replies)
Discussion started by: genehunter
2 Replies

7. Shell Programming and Scripting

merging two files based on first column

I had two files file1 and file2. I want a o/p file(file3) like below using first column as ref. Pls give suggestion ass join is not working as the number of lines in each file is nealry 5 C? file1 --------------------- 404000324810001 Y 404000324810004 N 404000324810008 Y 404000324810009 N... (1 Reply)
Discussion started by: p_sai_ias
1 Replies

8. Shell Programming and Scripting

Merging 2 files based on a common column

Hi All, I do have 2 files file 1 has 4 tab delimited columns 234 a c dfgyu 294 b g fih 302 c h jzh 328 z c san 597 f g son File 2 has 2 tab delimted columns 234 23 302 24 597 24 I want to merge file 2 with file 1 based on the data common in both files which is the first column so... (6 Replies)
Discussion started by: Lucky Ali
6 Replies

9. Shell Programming and Scripting

Merging files based on the contents

Hi, I have a file f1 having the contents as below select (<condn>) from dual I have another file f2 having the contents as below 1, 2, 3 I want to replace <condn> in f1 with the contents of f2 I tried using sed like this sed "s:<condn>:`cat f2`:g" f1 The above command resulted in sed:... (3 Replies)
Discussion started by: mr_manii
3 Replies

10. Shell Programming and Scripting

merging two files based on some key

I have to merge two files: The files are having the same format like A0this is first line TOlast line silmilarly other lines. I have to search for A0 line in the second file also and then put the data in the third file under A0 heading ,then for A1 and so on. A0 portion will be treminated... (1 Reply)
Discussion started by: Vandana Yadav
1 Replies
Login or Register to Ask a Question