我想找到一个文件中列出的模式,然后在另一文件中找到它们。第二个文件的模式用逗号分隔。
例如第一个文件F1具有基因
ENSG00000187546
ENSG00000113492
ENSG00000166971
第二个文件F2具有这些基因以及一些我需要的列(五列)
region gene chromosome start end
intronic ENSG00000135870 1 173921301 173921301
intergenic ENSG00000166971(dist=56181),ENSG00000103494(dist=37091) 16 53594504 53594504
ncRNA_intronic ENSG00000215231 5 5039185 5039185
intronic ENSG00000157890 15 66353740 66353740
因此,第二个文件中存在的基因ENSG00000166971不会出现在grep中,因为它带有另一个用逗号分隔的基因。
我的代码是:
grep -f "F1.txt" "F2.txt" >output.txt
即使存在其中一个值,我也想要这些值以及与之关联的数据。是否有任何方法可以做到这一点?
看到这篇文章:在Bash中从另一个更大的文件中查找文件行的最快方法
—
Codeforester
grep
默认锚定其模式?会grep -f <(echo a) <(echo 'a,b')
产生任何输出吗?