agrep 模糊搜索 - 结果数量没有意义

问题描述

大家好!

这个问题源自上一个问题 here 但代表它本身。

我正在使用 agrep 在大型 DNA 文本文件搜索具有 2 个允许不匹配的字符串,该文件只有来自先前 agrep 搜索的具有相同设置的行。所以每一行都应该包含一个匹配项!我假设 agrep 每行搜索一次...


问题

wc -l temp_R1_GCTCTTCCGATCT_M2.txt -> 9583

agrep -2 -c 'GCTCTTCCGATCT' temp_R1_GCTCTTCCGATCT_M2.txt -> 9570

agrep -2 'GCTCTTCCGATCT' temp_R1_GCTCTTCCGATCT_M2.txt | wc -l -> 9566

-d '$' 应该是标准的 -.-
agrep -2 -c -d '$' 'GCTCTTCCGATCT' temp_R1_GCTCTTCCGATCT_M2.txt -> 9580

更奇怪的是:
agrep -2 -c 'GCTC' temp_R1_GCTCTTCCGATCT_M2.txt -> 9662(超过所有行?)
agrep -2 -d '$' -c 'GCTC' temp_R1_GCTCTTCCGATCT_M2.txt -> 9609


数据Googledrive: .txt file ZIP-file


来自man agrep一个可能的答案:

以下可能导致无限循环: agrep 模式 * > output_file。如果匹配的数量很多,它们可能会存放在 output_file 中 在它被完全读取之前导致 output_file 中模式的更多匹配(匹配针对整个目录)。不是 明确这是否是一个错误”(grep 也会这样做),但要注意。


我用不同的文件对此进行了测试。有时它确实有效,但在大多数情况下,我无法理解这是如何发生的。 -d '$' 很烦人。

最后我将使用不同的方法进行模糊搜索,但这并不能让我入睡。到底是怎么回事?我可以信任agrep吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)