grep -f最大模式数量?

Chr*_*rgo 6 unix grep

我想在带有-f的文本文件上使用grep来匹配长列表(10,000)的模式.事实证明,grep不喜欢这个(谁知道?).一天后,它没有产生任何东西.较小的列表几乎可以瞬间完成.

我以为我可能会把我的长列表分开并做几次.知道模式列表的最大长度是多少?

另外,我对unix很新.欢迎采用其他方法.模式列表或搜索术语位于纯文本文件中,每行一个.

谢谢大家的指导.

Wil*_*ell 6

从注释中可以看出,您匹配的模式是固定字符串.如果是这样的话,你一定要使用-F.这将大大提高匹配的速度.(使用479,000个字符串匹配输入文件与3​​行-F,在中等功率的机器上使用不到1.5秒.不使用-F,几分钟后相同的机器尚未完成.)


Phi*_* S. 5

我和约有同样的问题.在900万行的文件中搜索400万个模式.好像这是RAM的问题.所以我得到了这个整齐的小工作,可能比分裂和加入慢,但它只需要这一行.

 while read line; do grep $line fileToSearchIn;done < patternFile
Run Code Online (Sandbox Code Playgroud)

我需要使用这个工作,因为-F标志不是那些大文件的解决方案......

编辑:对于大文件来说这似乎很慢.经过一些研究后,我发现了'faSomeRecords'以及来自Kent NGS-editing-Tools的其他很棒的工具

我通过从550万条记录文件中提取200万个fasta-rec来自己尝试.约.30秒..

干杯

编辑:直接下载链接