仅从文件中提取某些行

时间:2013-12-19 21:43:09

标签: shell unix bioinformatics

我想知道是否可以帮助我:

我有两个文本文件..每个文件都包含一个标记ID列表。为简单起见:文件“A”具有1000个ID以及单行(行)中每个ID的信息。文件'B'只有一个大约200个ID的列表。 有没有办法我可以将文件'B'作为输入,并从文件'A'中提取数据,仅用于文件B中存在的那些ID?

档案A:

rs149201999     16050408        T       C
rs146752890     16050612        C       G
rs139377059     16050678        C       T
rs188945759     16050984        C       G

档案B:

rs2508081
rs12157537
rs2334336
rs11703370

2 个答案:

答案 0 :(得分:2)

对您的文件做出一些假设

awk 'NR==FNR {id[$1]=1; next} $1 in id' fileB fileA

我假设id是fileB中唯一的东西,而id是fileA的第一个字段

或者,join <(sort fileA) <(sort fileB)

答案 1 :(得分:-1)

您想使用Unix连接工具。