Man Linux: Main Page and Category List


       grepdiff - show files modified by a diff containing a regex


       grepdiff [[-n] | [--line-number]] [--number-files] [[-p n] |
                [--strip-match=n]] [--strip=n] [--addprefix=PREFIX] [[-s] |
                [--status]] [[-i PATTERN] | [--include=PATTERN]] [[-x PATTERN]
                | [--exclude=PATTERN]] [[-v] | [--verbose]] [[-E] |
                [--extended-regexp]] [[-H] | [--with-filename]] [[-h] |
                [--no-filename]] [--output-matching=WHAT] {[REGEX] |
                [-f FILE]} [file...]

       grepdiff {[--help] | [--version] | [--list] | [--filter ...]}


       For each file modified by a patch, if the patch hunk contains the REGEX
       then the file's name is printed.

       The regular expression is treated as POSIX Basic Regular Expression
       syntax, unless the -E option is given in which case POSIX Extended
       Regular Expression syntax is used.

       For example, to see the patches in my.patch which contain the regular
       expression “pf_gfp_mask”, use:

           grepdiff pf_gfp_mask my.patch | \
             xargs -rn1 filterdiff my.patch -i

       You can use both unified and context format diffs with this program.


       -n, --line-number
           Display the line number that each patch begins at. If verbose
           output is requested, each matching hunk is listed as well.

           For a description of the output format see lsdiff(1).

           File numbers are listed, beginning at 1, before each filename.

       -p n, --strip-match=n
           When matching, ignore the first n components of the pathname.

           Remove the first n components of the pathname before displaying it.

           Prefix the pathname with PREFIX before displaying it.

           Show file additions, modifications and removals. A file addition is
           indicated by a “+”, a removal by a “-”, and a modification by a

       -i PATTERN, --include=PATTERN
           Include only files matching PATTERN.

       -x PATTERN --exclude=PATTERN
           Exclude files matching PATTERN.

       -E, --extended-regexp
           Use POSIX Extended Regular Expression syntax.

       -H, --with-filename
           Print the name of the patch file containing each match.

       -h, --no-filename
           Suppress the name of the patch file containing each match.

       -f FILE, --file=FILE
           Read regular expressions from FILE, one per line.

           Display the matching hunk-level or file-level diffs.

           Display a short usage message.

           Display the version number of grepdiff.

           Behave like filterdiff(1) instead.

           Behave like lsdiff(1) instead.


       filterdiff(1), lsdiff(1)


       Tim Waugh <>
           Package maintainer