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

-A n
    Print n lines of trailing context after a match.

-B n
    Print n lines of leading context before a match.

-C n
    Print n lines of context surrounding a match.

-c  Do not print matches, and instead print a count of them.

-h  Suppress the prefixing of file names on output.

-i  Ignore case distinctions in pattern.

-l  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.

-m n
    Stop processing after finding n matches.

-n  Prefix each line of output with the 1-based line number within its input file.

-t type
    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)