问题描述
我有一个 GWAS 汇总估算文件,其中包含以下列(文件 1):
1 chr1_1726_G_A 0.023 0.160
1 chr1_20184_GAATA_G 0.033 0.180
1 chr1_791101_T_TGG 0.099 0.170
文件 2
chr1_20184_GAATA_G
chr1_791101_T_TGG
我想将文件 2 的第 1 列与文件 1 的第 2 列匹配以创建一个文件 3,例如:
1 chr1_20184_GAATA_G 0.033 0.180
1 chr1_791101_T_TGG 0.099 0.170
awk 'FNR==NR{arr[$2];next} (($2) in arr)' file2 file1 > file3
解决方法
对于您显示的示例,请尝试遵循 awk
代码。
awk 'FNR==NR{arr[$0];next} ($2 in arr)' file2 file1
OR
awk 'FNR==NR{arr[$1];next} ($2 in arr)' file2 file1
说明: 对数组使用 $0(在第一个解决方案中)或 $1(在 OR 解决方案中)而不是在第一个块中使用 $2,然后其余代码就可以了匹配;匹配记录在这里。