12-04-2011
Perl: compare columns of two files
Hi
I have file 1 like this:
Quote:
1 xxx kkok
2 sss polld
3 erere plroe
4 dfdfd erer
file 2 is like this:
The files are tab separated. I want to search for the first column values of file 1 in the first column of file 2 and merge the 3rd column value of file 2 to the corresponding line on first file.
so the desired output is;
Quote:
1 xxx kkok +
3 erere plroe +
4 dfdfd erer -
I tried following perl code but is not working
PHP Code:
open file2, "$ARGV[0]" || die "cant open file";
open file1, "$ARGV[1]" || die "cant open file";
my $x;
my $y;
my $z;
my %sf = ();
while (<file2>) {
($x, $y, $z) = split;
$sf{$x} = $z;
}
while (<file1>) {
($a, ) = split;
if (exists $sf{$a}) { print "$_\t$sf{$x}\n"}}
can some one help? thanks in advance
Last edited by polsum; 12-04-2011 at 07:12 PM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
My Friends,
Need your help to find the difference between few columns from two comma delimited files. For example, File1 and File2 has 22 columns, and I want to find the difference in first 12 columns.
I have list of file names in MyListOfFiles2Compare.txt. Data is separated with commas.... (5 Replies)
Discussion started by: manish44
5 Replies
2. Shell Programming and Scripting
Hello all,
Could someone please let me know shell script or awk solution to compare two columns in two files? Here is the sample -
file1.txt
abc/xyz,M1234
ddd/lyg,M2345
cnn/tnt,G0123
file2.txt
A,abc/xyz,kk,dd,zz,DCT,G0123,1
A,ddd/lyg,kk,dd,zz,DCT,M1234,1... (17 Replies)
Discussion started by: sncoupons
17 Replies
3. Shell Programming and Scripting
Hiiiii friends
I have 2 files which contains huge data & few lines of it are as shown below
File1: b.dat(which has 21 columns)
SSR 1976 8 12 13 10 44.00 39.0700 70.7800 7.0 0 0.00 0 2.78 0.00 0.00 0 0.00 2.78 0 NULL
ISC 1976 8 12 22 32 37.39 36.2942 70.7338... (6 Replies)
Discussion started by: reva
6 Replies
4. UNIX for Dummies Questions & Answers
Hi all,
I would like to compare a column in one file to a column in another file and when there is a match it prints the first column and the corresponding second column. Example
File1
ABA
ABC
ABE
ABF
File 2
ABA 123
ABB 124
ABD 125
ABC 126
So what I would like printed to a file... (0 Replies)
Discussion started by: pcg
0 Replies
5. Shell Programming and Scripting
Hi
I have file 1 like this
and file 2 like this
I need to compare column 3 of both files and delete lines in file1 with same column 3 values in two files. So the output is
I tried with perl but didnt work. A perl code will be good as I am learning the language, but any other code would... (1 Reply)
Discussion started by: polsum
1 Replies
6. Shell Programming and Scripting
Hi dear users,
I need to compare numeric columns in two files. These files have the following structure.
K.txt (4 columns)
A001 chr21 9805831 9846011
A002 chr21 9806202 9846263
A003 chr21 9887188 9988593
A003 chr21 9887188 ... (2 Replies)
Discussion started by: jcvivar
2 Replies
7. Shell Programming and Scripting
Hi,
I have two files like this:
8 1.3
10 1.3
12 1.3
15 1.3
21 1.3
and
1
2
3
4
10
11
15
16
21
22 (3 Replies)
Discussion started by: jamie_123
3 Replies
8. Shell Programming and Scripting
Hi all, I'm pretty much a newbie to UNIX. I would appreciate any help with UNIX coding on comparing two large csv files (greater than 10 GB in size), and output a file with matching columns.
I want to compare file1 and file2 by 'id' and 'chain' columns, then extract exact matching rows'... (5 Replies)
Discussion started by: bkane3
5 Replies
9. UNIX for Dummies Questions & Answers
Hi,
Below is my requirement
file1
id|cnt
1|1
2|2
3|3
file2
id_1|cnt_1
1|1
2|1
3|1
I want to compare cnt and cnt_1 columns, if they are differ then give the details
Am using below awk command, but the output is not as expected. (2 Replies)
Discussion started by: grandhirahuletl
2 Replies
10. UNIX for Dummies Questions & Answers
Hi All,
I have a.dat file with content
1,338,30253395122015103,2015103,UB0085000,STMT151117055527002,,,
1,338,30253395122015103,2015103,UB0085000,STMT151117055527001,,,
and b.dat having content
1,STMT151117055527001,a1.txt,b1.txt,c1.txt
1,STMT151117055527002,a2.txt,b2.txt,c2.txt
... (13 Replies)
Discussion started by: PRAMOD 96
13 Replies