awk合并id上的两个文件

时间:2013-09-12 15:09:59

标签: awk merge

我想获得匹配第一个文件的ID到第二个文件的ID,所以我得到了Thijs Al,NED19800616,39。我知道AWK应该可以做到这一点,但我并不擅长它。

file1(少数条目)

NED19800616,Thijs Al
BEL19951212,Nicolas Cleppe
BEL19950419,Ben Boes
FRA19900221,Arnaud Jouffroy
...

file2(多个条目)

38,FRA19920611
39,NED19800616
40,BEL19931210
41,NED19751211
...

2 个答案:

答案 0 :(得分:3)

请勿使用awk,请使用join。首先确保输入文件已排序:

sort -t, -k1,1 file1 > file1.sorted
sort -t, -k2,2 file2 > file2.sorted
join -t, -1 1 -2 2 file[12].sorted

答案 1 :(得分:3)

使用awk你可以做到

$ awk -F, 'NR==FNR{a[$2]=$1;next}{print $2, $1, a[$1] }' OFS=, file2 file1
Thijs Al,NED19800616,39
Nicolas Cleppe,BEL19951212,
Ben Boes,BEL19950419,
Arnaud Jouffroy,FRA19900221,