Tutorials Point

  Unix for Beginners
  Unix Shell Programming
  Advanced Unix
  Unix Useful References
  Unix Useful Resources
  Selected Reading

Copyright © 2014 by tutorialspoint

  Home     References     Discussion Forums     About TP  

grepdiff - Unix, Linux Command

previous next AddThis Social Bookmark Button



grepdiff - show files modified by a diff containing a regex


grepdiff [-n] [--number-files] [-p n] [--strip=n] [--addprefix=PREFIX] [-s] [-i PATTERN] [-x PATTERN] [-v] [-E] [[-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 \(lqpf_gfp_mask\(rq, 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 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 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.
-s Show file additions, modifications and removals. A file addition is indicated by a \(lq+\(rq, a removal by a \(lq-\(rq, and a modification by a \(lq!\(rq.
  Include only files matching PATTERN.
  Exclude files matching PATTERN.
-E 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 Read regular expressions from FILE, one per line.
  Display the matching hunk-level or file-level diffs.
--help Display a short usage message.
  Display the version number of grepdiff.
  Behave like filterdiff(1) instead.
--list Behave like lsdiff(1) instead.


filterdiff(1), lsdiff(1)


Tim Waugh <twaugh@redhat.com>.

previous next Printer Friendly