A fast and powerful alternative to grep.
Most of the existing tools for searching through large amounts of text are either fast but inflexible (the original grep) or slightly more flexible but slow or complicated to install.
sift is an alternative that aims for both speed and flexibility - i.e. adding features while trying to reach (or even surpass) the performance of the original grep.
The additional features include gitignore support, conditions (e.g. match A only when preceded by B within X lines) , full multi-core support and multiline matching.
sift is not tailored towards a specific use case, but you can
it to your needs through a global or local configuration file.
If you want sift to ignore case, show line numbers, skip binary files and understand .gitignore files by default, just execute
sift -i -n --binary-skip --git --write-config
and you are done.
The goals and design principles of sift are documented here to give a better idea of what to expect from sift.