file1的文件如下所示:
a rs1
b rs2
c rs4
file2的文件如下所示:
a 0.170721 -1.82031 0.0690841 rs1
b 0.0803412 -1.01669 0.309605 rs2
c 0.21245 0.22964 0.81843 rs3
d 0.0707158 -0.499683 0.617435 rs4
现在想根据file1的第二列和file2的第五列相同的rs提取数据,生成的file3如下所示:
a 0.170721 -1.82031 0.0690841 rs1
b 0.0803412 -1.01669 0.309605 rs2
d 0.0707158 -0.499683 0.617435 rs4
则用如下命令:
awk 'NR==FNR{a[$2];next}$5 in a' file1 file2 > file3
a[$2]
以第一个文件的第二列为下标,建立数组a;
next
跳过第一个文件到第二个文件;
$5 in a
如果第二个文件第五列的ID在数值a中,则打印。