diffutils: Specified Headings
2.2.3.1 Showing Lines That Match Regular Expressions
....................................................
To show in which sections differences occur for files that are not
source code for C or similar languages, use the
'--show-function-line=REGEXP' ('-F REGEXP') option. 'diff' considers
lines that match the 'grep'-style regular expression REGEXP to be the
beginning of a section of the file. Here are suggested regular
expressions for some common languages:
'^[[:alpha:]$_]'
C, C++, Prolog
'^('
Lisp
'^@node'
Texinfo
This option does not automatically select an output format; in order
to use it, you must select the context format (⇒Context Format)
or unified format (⇒Unified Format). In other output formats it
has no effect.
The '--show-function-line' ('-F') option finds the nearest unchanged
line that precedes each hunk of differences and matches the given
regular expression. Then it adds that line to the end of the line of
asterisks in the context format, or to the '@@' line in unified format.
If no matching line exists, this option leaves the output for that hunk
unchanged. If that line is more than 40 characters long, it outputs
only the first 40 characters. You can specify more than one regular
expression for such lines; 'diff' tries to match each line against each
regular expression, starting with the last one given. This means that
you can use '-p' and '-F' together, if you wish.