我有一个很大的源文件目录树。我想搜索所有这些文件。我的第一反应是使用grep -R
或ack
,但无论哪种方式,它们都只是按顺序读取所有文件。
有没有可以安装的轻量级程序,可以扫描所有文件一次,构建和索引,然后以后我可以搜索某些词?这应该比只是做大量的搜索要快grep
。我要搜索的文件不会改变,所以我不需要自动索引文件的东西。
我并不是在寻找可以扫描硬盘上所有文件的东西,而是想要一些易于在本地台式机上安装和设置的东西,以便进行简单的几乎一次性的搜索。
如果该软件位于正常的 ubuntu 存储库中,则可获得加分。
理想情况下,我想要一些像这样容易使用的东西:
sudo aptitude install supersearch
cd /path/to/where/I/wanna/search
supersearch --make-index
supersearch "foo bar"
答案1
听起来你想要比格犬。其主要目的是作为一个综合的桌面搜索,但您可以告诉它只查看您想要索引的源树。
答案2
我相信追踪器在 Ubuntu 上是默认安装的。请执行man trackerd
并man tracker-search
获取更多信息。
从trackerd
手册页中:
默认情况下,trackerd 将索引用户主目录中的所有文件
(隐藏文件除外)。 可以通过
在配置文件 ($HOME/.config/tracker/tracker.cfg) 中指定要索引的一个或多个目录来覆盖此
设置,也可以使用
--include-dir 选项指定要索引的其他目录。