【发布时间】:2012-07-14 10:59:51
【问题描述】:
file.contain.query.txt
ENST001
ENST002
ENST003
file.to.search.in.txt
ENST001 90
ENST002 80
ENST004 50
因为 ENST003 在第二个文件中没有条目,而 ENST004 在第一个文件中没有条目,所以预期的输出是:
ENST001 90
ENST002 80
要在特定文件中 grep 多查询,我们通常执行以下操作:
grep -f file.contain.query <file.to.search.in >output.file
因为我在 file.to.search.in 中有 10000 个查询和近 100000 个原始查询,所以需要很长时间才能完成(比如 5 小时)。是否有快速替代 grep -f 的方法?
【问题讨论】:
-
您有什么需求?你想要一个文件,其中第二个的行用第一个的键过滤吗?
-
我编辑了预期的结果
-
输入重定向是不必要的。
-
什么语言环境?试试
LANG=C grep -F ...看看速度是否由于语言环境和(正如@tripleee 谨慎建议的那样)固定字符串匹配而提高。