ack - grep-like text finder


    ack [options] PATTERN [FILE...]
    ack -f [options] [DIRECTORY...]


Ack is designed as a replacement for grep.

Ack searches the named input FILEs (or standard input if no files are named, or the file name - is given) for lines containing a match to the given PATTERN. By default, ack prints the matching lines.

Ack can also list files that would be searched, without actually searching them, to let you take advantage of ack's file-type filtering capabilities.


-a, --all

Operate on all files, regardless of type (but still skip directories like blib, CVS, etc.

-c, --count

Suppress normal output; instead print a count of matching lines for each input file.

--color, --nocolor

--color highlights the matching text. --nocolor supresses the color. This is on by default unless the output is redirected, or running under Windows.


Only print the files that would be searched, without actually doing any searching. PATTERN must not be specified, or it will be taken as a path to search.

--group, --nogroup

--group groups matches by file name with. This is the default when used interactively.

--nogroup prints one result per line, like grep. This is the default when output is redirected.

-H, --with-filename

Print the filename for each match.

-h, --no-filename

Suppress the prefixing of filenames on output when multiple files are searched.


Print a short help statement.

-i, --ignore-case

Ignore case in the search strings.

-l, --files-with-matches

Only print the filenames of matching files, instead of the matching text.

-m=NUM, --max-count=NUM

Stop reading a file after NUM matches.


Print this manual page.


No descending into subdirectories.


Show only the part of each line matching PATTERN (turns off text highlighting)


Output the evaluation of expr for each line (turns off text highlighting)


Quote all metacharacters. PATTERN is treated as a literal.


Display the crucial Bill The Cat logo. Note that the exact spelling of --thpppppt is not important. It's checked against a regular expression.

-v, --invert-match

Invert match: select non-matching lines


Display version and copyright information.

-w, --word-regexp

Force PATTERN to match only whole words. The PATTERN is wrapped with \b metacharacters.



This variable specifies default options to be placed in front of any explicit options.


Note that FILES must still match valid selection rules. For example,

    ack something --perl foo.rb

will search nothing, because foo.rb is a Ruby file.