I have a large directory tree of source files. I want to search around all these files. My first instinct is to use grep -R or ack, but either way they just sequentially read all the files.

Is there some lightweight programme that I can install that will scan all the files once, build and index, and then at any later date I can search for certain words? That should be quicker than just doing loads of grep's. The files I want to search won't be changing, so I don't need something that will index files automatically.

I'm not looking for something that will scan all the files on my harddrive, and i want something locally that's easy to install and set up on a local desktop machine, for simple almost throwaway searching.

Bonus points if the software in the normal ubuntu repositories.

Ideally I want something that's as easy to use as this:

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

Sounds like you want Beagle. Its main purpose is as a comprehensive desktop search, but you can tell it to just look at the source tree you want to index.


I believe Tracker is installed by default on Ubuntu. Do man trackerd and man tracker-search for more info.

From the trackerd man page:

By default, trackerd will index all files in a user’s home directory
(with the exception of hidden files). This can be overridden by speci‐
fying one or more directories to be indexed instead in the configura‐
tion file ($HOME/.config/tracker/tracker.cfg) and/or by using the
--include-dir option to specify other directories to be indexed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.