perl -F"\s+" -ane "push @{$r{join (' 'x8,@F[0..3]) }}, [@F[4,5]]; END{foreach $k(keys %r){my($x,$y);map {$x+=$$_[0];$y+=$$_[1]} @{$r{$k}};print qq($k\t),($x/scalar @{$r{$k}}),qq(\t$y\n)}}" uno.txt due.txt I 33 C C 0.75 4 I 21 B A 1 12 I 40 D D 1 7 I 56 A E 1 2 I 9 A B 0.275 14