ack is an open source and freely distributed command-line software implemented in pure Perl and designed from the offset to act as a grep-like tool that takes advantage of the power of Perl's regular expressions. It’s also known as a grep-like tool optimized for programmers and developers.
The software is blazing fast
The software is blazing fast, as it only searches the stuff it makes sense to search; provides better search, as it searches entire trees by default while ignoring Git, Subversion and other VCS directories; it’s designed for code search, making it the programmer’s source code searching tool.
It’s also highly portable
ack is also highly portable, to Perl 5, and it’s especially designed for developers with large heterogeneous trees of source code. It runs well on GNU/Linux, Microsoft Windows or Mac OS X operating systems, supporting both 32 and 64-bit instruction set architectures.
Does not require installation
The program does not require installation and can be used directly from the source directory after making it executable, which will require you to open a terminal emulator app, move to the location of the extracted archive files (e.g. cd /home/softpedia/ack-2.14) and run the ‘chmod +x ack’ command.
Requires various Perl modules
Besides Perl, the software requires various Perl modules to work. Among these, we can mention File::Next and App::Ack. After installing these modules and making the binary file executable using the above instructions, it is time to view its command-line options by running the ‘./ack --help’ command.
ack features a wide range of command-line options, among which we can mention the ability to ignore case distinctions in PATTERN, invert match, selecting non-matching lines, force PATTERN to match only whole words, quote all metacharacters, specify PATTERN explicitly, as well as to stop searching in each file after a given number of matches or after one match of any kind.