使用 awk 作为 vlookup 从两个文件打印值

Print values from both files using awk as vlookup

我有两个文件,file1:

1 I0626_all 0 0 1 1 
2 I0627_all 0 0 2 1 
3 I1137_all_published 0 0 1 1 
4 I1859_all 0 0 2 1 
5 I2497_all 0 0 2 1 
6 I2731_all 0 0 1 1 
7 I4451_all 0 0 1 1 
8 I0626 0 0 1 1 
9 I0627 0 0 2 1 
10 I0944 0 0 2 1 

和文件 2:

I0626_all 1 138
I0627_all 1 139
I1137_all_published 1 364
I4089 1 365
AfontovaGora2.SG 1 377
AfontovaGora3_d 1 378

最后我要

1 I0626_all 138 
2 I0627_all 139
3 I1137_all_published 364

我尝试使用:

awk 'NR==FNR{a[]=;next} {b[]} {print ,,b[]}' file2 file1

但是没用。

你可以使用这个awk:

awk 'NR == FNR {map[] = $NF; next}  in map {print , , map[]}' file2 file1

1 I0626_all 138
2 I0627_all 139
3 I1137_all_published 364