File 使用awk合并两个文件并更改最后一列中的重复项

File 使用awk合并两个文件并更改最后一列中的重复项,file,join,awk,merge,File,Join,Awk,Merge,我有两个制表符分隔的文本文件。我想创建一个输出文件,其中包含文件1中的所有行。但是,如果文件1的第1列中的值与文件2中的第1列匹配,我希望该行第3列中的值从0更改为1。当前,文件1第3列中的所有值都是0 文件1: A2M GO:0051056 0 A2ML1 GO:0052548 0 A4GALT GO:0006486 0 文件2 A2M GO:0051056 1 A2ML1 GO:0052548 1 AAAS GO:0006486 1 期望输出: A2M GO:

我有两个制表符分隔的文本文件。我想创建一个输出文件,其中包含文件1中的所有行。但是,如果文件1的第1列中的值与文件2中的第1列匹配,我希望该行第3列中的值从0更改为1。当前,文件1第3列中的所有值都是0

文件1:

A2M GO:0051056  0
A2ML1   GO:0052548  0
A4GALT  GO:0006486  0
文件2

A2M GO:0051056  1
A2ML1   GO:0052548  1
AAAS    GO:0006486  1
期望输出:

A2M GO:0051056  1
A2ML1   GO:0052548  1
A4GALT  GO:0006486  0
请告诉我这个问题不清楚。除非有简单的替代方法,否则最好使用Awk答案

提前感谢您的帮助。

试试这句话:

awk 'NR==FNR{a[$1]=$3;next}$1 in a{$3=a[$1]}7' file2 file1