目录树的本地全文索引,是 grep -R 的更快替代方法

目录树的本地全文索引,是 grep -R 的更快替代方法

我有一个很大的源文件目录树。我想搜索所有这些文件。我的第一反应是使用grep -Rack,但无论哪种方式,它们都只是按顺序读取所有文件。

有没有可以安装的轻量级程序,可以扫描所有文件一次,构建和索引,然后以后我可以搜索某些词?这应该比只是做大量的搜索要快grep。我要搜索的文件不会改变,所以我不需要自动索引文件的东西。

我并不是在寻找可以扫描硬盘上所有文件的东西,而是想要一些易于在本地台式机上安装和设置的东西,以便进行简单的几乎一次性的搜索。

如果该软件位于正常的 ubuntu 存储库中,则可获得加分。

理想情况下,我想要一些像这样容易使用的东西:

sudo aptitude install supersearch
cd /path/to/where/I/wanna/search
supersearch --make-index 
supersearch "foo bar"

答案1

听起来你想要比格犬。其主要目的是作为一个综合的桌面搜索,但您可以告诉它只查看您想要索引的源树。

答案2

我相信追踪器在 Ubuntu 上是默认安装的。请执行man trackerdman tracker-search获取更多信息。

trackerd手册页中:

默认情况下,trackerd 将索引用户主目录中的所有文件
(隐藏文件除外)。 可以通过
在配置文件 ($HOME/.config/tracker/tracker.cfg) 中指定要索引的一个或多个目录来覆盖此
设置,也可以使用
--include-dir 选项指定要索引的其他目录。

相关内容