Scroll to navigation

CSEARCH(1) General Commands Manual CSEARCH(1)


csearch - like grep(1) over all indexed files


csearch [-c] [-f fileregexp] [-h] [-i] [-l] [-n] regexp


Csearch behaves like grep over all indexed files, searching for regexp, an RE2 (nearly PCRE) regular expression.

The -c, -h, -i, -l, and -n flags are as in grep, although note that as per Go's flag parsing convention, they cannot be combined: the option pair -i -n cannot be abbreviated to -in.

The -f flag restricts the search to files whose names match the RE2 regular expression fileregexp.

Csearch relies on the existence of an up-to-date index created ahead of time. To build or rebuild the index that csearch uses, run:

cindex path...

where path... is a list of directories or individual files to be included in the index. If no index exists, this command creates one. If an index already exists, cindex overwrites it. See cindex(1) for more details.


Suppress normal output; instead print a count of matching lines for each input file.
Restricts the search to files whose names match the RE2 regular expression fileregexp.
Suppress the prefixing of file names on output.
Ignore case distinctions in both the regexp and the input files.
Suppress normal output; instead print the name of each input file from which output would normally have been printed.
Prefix each line of output with the 1-based line number within its input file.


Csearch uses the index stored in $CSEARCHINDEX or, if that variable is unset or empty, $HOME/.csearchindex.


cindex(1), cgrep(1), grep(1).


This manual page was written by Michael Stapelberg <>, for the Debian project (and may be used by others).