找到两个文件的公共列并在第三个文件上打印第一个文件值

时间:2013-04-03 14:06:44

标签: unix

我有两个大文件,如;

File1中

0.678 JA0678
0.567 JA0907
0.345 JA0408

文件2

0.574 JA0907
0.467 JA2345
0.347 JA0678

我希望输出像;

0.678 JA0678
0.567 JA0907

感谢。

2 个答案:

答案 0 :(得分:0)

尝试这样做:

$ awk 'NR==FNR{a[$2]=$1}NR!=FNR && $2 in a{print a[$2], $2}' file1 file2
0.567 JA0907
0.678 JA0678

答案 1 :(得分:0)

awk '{if($2 in seen) print seen[$2] " " $2; else seen[$2]=$1}' File1 File2

输出:

0.567 JA0907
0.678 JA0678