0
我有两个文件,key.txt和target.txt,我想根据key.txt文件中是否存在字段来更新target.txt文件。根据第二个文件中的匹配更新文件。
key.txt
B x001 block134 10 50
B g013 block341 10 70
B x560 block444 30 99
B f777 block878 50 29
target.txt
h01 x999 3 4
h08 x560 4 7
h14 f777 13 55
j88 h888 15 66
output.txt中会是什么样子下面。它是具有额外列($ 5)的target.txt文件。如果target.txt中的$ 2与key.txt中的$ 2之间没有匹配,则$ 5 ==“NM”。在匹配的情况下,key.txt中$ 3,$ 4和$ 5的信息被合并($ 3“:”$ 4“:”$ 5),并在output.txt中放置为$ 5。
h01 x999 3 4 NM
h08 x560 4 7 block444:30:99
h14 f777 13 55 block878:50:29
j88 h888 15 66 NM
到现在为止,我已经使用了过滤根据比赛的$ 2档以下的,而是奋力修改它实际上合并根据比赛数据。
awk 'FNR == NR {keys[$2]; next} $2 in keys' key.txt target.txt > output.txt
非常好,谢谢。 – user1308144