我有两个包含数千行的文本文件。文件A只有一列(ID)
#ID
rs111
rs222
rs333
rs444
文件B如下所示:
#CHROM POS ID REF ALT QUAL ......
22 111 rs111 T C . ....
22 222 rs222 A G ....
22 333 rs666 G T ...
22 444 rs777 A A ..
这是我想要的输出:
#CHROM POS ID REF ALT QUAL ......
22 111 rs111 T C . ....
22 222 rs222 A G ....
即。我想只从文件B中提取那些ID与文件A中给出的ID相匹配的行。我怎样才能实现这一点?感谢
答案 0 :(得分:2)
你可以使用这个awk:
awk 'FNR==NR{a[$1];next} ($3 in a)' fileA fileB
22 111 rs111 T C . ....
22 222 rs222 A G ....
答案 1 :(得分:0)
虽然anubhava发布的awk
解决方案更优雅,但您可能会放弃:
$ grep -f filea fileb
22 111 rs111 T C . ....
22 222 rs222 A G ....
答案 2 :(得分:0)
请参阅生物标记中的“查询dbSNP VCF文件”:http://www.biostars.org/p/88799/或http://www.biostars.org/p/12707/