Scroll to navigation

grepc(1) General Commands Manual grepc(1)

NAME

grepc - find declarations, definitions, and uses in source code

SYNOPSIS

grepc [option ...] pattern [file ...]

DESCRIPTION

grepc(1) searches for declarations, definitions, and/or uses of pattern in each source file.

pattern is a PCRE pattern. It normally represents an identifier, and word boundaries are implicitly added to it in most cases.

If no file is given, this program reads standard input. Otherwise, it reads all files specified, and searches under any specified directories, recursively, without following symbolic links.

OPTIONS

Print n lines of trailing context after a match.
Print n lines of leading context before a match.
Print n lines of context surrounding a match.
Do not print matches, and instead print a count of them.
Suppress the prefixing of file names on output.
Ignore case distinctions in pattern.
Suppress normal output; instead print the name of each input file from which output would normally have been printed. Each file is only printed once.
Stop processing after finding n matches.
Prefix each line of output with the 1-based line number within its input file.
Restrict the search to a specific type of code. This option can be passed multiple times to search for various types of code. The acceptable values depend on the driver used for the language. See grepc_c(1), which is the default driver.

CAVEATS

Crashes

In some cases, internal calls to pcre2grep(1) may fail after consuming too much resources. To solve that, use -t to restrict the types of code of your search.

Seekable files

Files specified in the command line must be seekable and able to be opened twice. If you need to read a non-seekable file, redirect it to the standard input.

EXAMPLES

alx@devuan:/usr/lib/gcc$ grepc -n alignof .;
./x86_64-linux-gnu/15/include/stdalign.h:33:#define alignof _Alignof

SEE ALSO

grepc_c(1), pcre2grep(1), pcre2syntax(3), pcre2pattern(3)

2025-11-09 Linux man-pages (unreleased)