如何索引文本文件以改善grep时间

时间:2015-07-08 20:08:11

标签: linux indexing grep full-text-search

我需要定期查看大量文本文件。

大约有230,000个文件,大约有15GB的数据。

我已阅读以下主题:

我正在贪图的机器是英特尔酷睿i3(即双核),因此我无法在很大程度上实现并行化。该机器正在运行Ubuntu,我更喜欢通过命令行执行所有操作。

不是每次都运行沼泽标准grep,有没有什么方法可以索引或标记文本文件的内容以改善搜索?

2 个答案:

答案 0 :(得分:2)

要在大量文件中搜索文本模式,qgrep使用索引。请参阅有关原因和方式的文章:https://zeux.io/2019/04/20/qgrep-internals

或者,也可以尝试使用现代的多线程grep工具,例如新的ugrepag又名Silver Searcher(注意:GitHub上的ag bug列表显示,最新的ag 2.2.0可能会运行 slower 具有多个线程,我认为它将在以后的更新中得到修复。

答案 1 :(得分:0)

您是否尝试ag作为grep的替代品?它应该在Ubuntu存储库中。我遇到了类似的问题,对于大多数正则表达式搜索,ag实际上比grep快得多。语法和功能之间存在一些差异,但只有在您有特殊的grep特定需求时才会这样。