0

如何通过每个文件的第一列加入两个文件?

文件1:

116
116
116
116
116
117
117
117
117
117

文件2:

1   37.8378378378378
2   30.5009605438156
3   35.4106079490375
4   25.6565656565657
.....
.....
116 49.4073275862069
117 25.8182578688696
118 36.1389759665622
119 36.7218282111899
120 55.1587301587302

我想匹配两个文件中的第一列并像这样打印:

116  49.4073275862069
116  49.4073275862069  
116  49.4073275862069 
116  49.4073275862069 
116  49.4073275862069 
117  25.8182578688696
117  25.8182578688696
117  25.8182578688696
117  25.8182578688696
117  25.8182578688696
4

2 回答 2

3

你可以简单地做到这一点join

join <(sort file1) <(sort file2)
于 2013-03-04T20:35:13.900 回答
2

试试这个单行:

awk 'NR==FNR{a[$1]=$2;next}$1 in a{print $1,a[$1]}' file2 file1
于 2013-03-04T20:32:43.953 回答