【发布时间】:2017-09-02 05:40:51
【问题描述】:
我有四个制表符分隔文件 1.txt、2.txt、3.txt、4.txt。每个都有以下格式
89 ABI1 0.19
93 ABL1 0.15
94 ABL2 0.07
170 ACSL3 0.21
我想比较所有文件的第二列并将联合(基于第二列)打印到新文件中,如下所示:
1.txt 2.txt 3.txt 4.txt
ABL2 0.07 0.01 0.11 0.009
AKT1 0.31 0.05 0.05 0.017
AKT2 0.33 0.05 0.01 0.004
在 awk 中怎么可能? 我试过以下,但这只比较第一列,
awk 'NR==FNR {h[$1] = $0; next} {print $1,h[$1]}' OFS="\t" 2.txt 1.txt
但是当我将它更改为比较第二列时它不起作用
awk 'NR==FNR {h[$2] = $0; next} {print $1,h[$2]}' OFS="\t" 2.txt 1.txt
而且这一次只能处理两个文件。
有没有办法通过比较 awk 中的第二列来处理四个文件?
【问题讨论】:
-
你能把
2.txt和3.txt的内容贴出来吗?