NAME
       diff - compare files line by line
SYNOPSIS
       diff [OPTION]... FILES
DESCRIPTION
       Compare files line by line.
       -i  --ignore-case
              Ignore case differences in file contents.
       --ignore-file-name-case
              Ignore case when comparing file names.
       --no-ignore-file-name-case
              Consider case when comparing file names.
       -E  --ignore-tab-expansion
              Ignore changes due to tab expansion.
       -b  --ignore-space-change
              Ignore changes in the amount of white space.
       -w  --ignore-all-space
              Ignore all white space.
       -B  --ignore-blank-lines
              Ignore changes whose lines are all blank.
       -I RE  --ignore-matching-lines=RE
              Ignore changes whose lines all match RE.
       --strip-trailing-cr
              Strip trailing carriage return on input.
       -a  --text
              Treat all files as text.
       -c  -C NUM  --context[=NUM]
              Output NUM (default 3) lines of copied context.
       -u  -U NUM  --unified[=NUM]
              Output NUM (default 3) lines of unified context.
       --label LABEL
              Use LABEL instead of file name.
       -p  --show-c-function
              Show which C function each change is in.
       -F RE  --show-function-line=RE
              Show the most recent line matching RE.
       -q  --brief
              Output only whether files differ.
       -e  --ed
              Output an ed script.
       --normal
              Output a normal diff.
       -n  --rcs
              Output an RCS format diff.
       -y  --side-by-side
              Output in two columns.
       -W NUM  --width=NUM
              Output at most NUM (default 130) print columns.
       --left-column
              Output only the left column of common lines.
       --suppress-common-lines
              Do not output common lines.
       -D NAME  --ifdef=NAME
              Output merged file to show ‘#ifdef NAME’ diffs.
       --GTYPE-group-format=GFMT
              Similar, but format GTYPE input groups with GFMT.
       --line-format=LFMT
              Similar, but format all input lines with LFMT.
       --LTYPE-line-format=LFMT
              Similar, but format LTYPE input lines with LFMT.
       LTYPE is ‘old’, ‘new’, or ‘unchanged’.
              GTYPE is LTYPE or ‘changed’.
              GFMT may contain:
       %<     lines from FILE1
       %>     lines from FILE2
       %=     lines common to FILE1 and FILE2
       %[-][WIDTH][.[PREC]]{doxX}LETTER
              printf-style spec for LETTER
              LETTERs are as follows for new group, lower case for old group:
       F      first line number
       L      last line number
       N      number of lines = L-F+1
       E      F-1
       M      L+1
              LFMT may contain:
       %L     contents of line
       %l     contents of line, excluding any trailing newline
       %[-][WIDTH][.[PREC]]{doxX}n
              printf-style spec for input line number
              Either GFMT or LFMT may contain:
       %%     %
       %c’C’  the single character C
       %c’\OOO’
              the character with octal code OOO
       -l  --paginate
              Pass the output through ‘pr’ to paginate it.
       -t  --expand-tabs
              Expand tabs to spaces in output.
       -T  --initial-tab
              Make tabs line up by prepending a tab.
       --tabsize=NUM
              Tab stops are every NUM (default 8) print columns.
       --suppress-blank-empty
              Suppress space or tab before empty output lines.
       -r  --recursive
              Recursively compare any subdirectories found.
       -N  --new-file
              Treat absent files as empty.
       --unidirectional-new-file
              Treat absent first files as empty.
       -s  --report-identical-files
              Report when two files are the same.
       -x PAT  --exclude=PAT
              Exclude files that match PAT.
       -X FILE  --exclude-from=FILE
              Exclude files that match any pattern in FILE.
       -S FILE  --starting-file=FILE
              Start with FILE when comparing directories.
       --from-file=FILE1
              Compare FILE1 to all operands.  FILE1 can be a directory.
       --to-file=FILE2
              Compare all operands to FILE2.  FILE2 can be a directory.
       --horizon-lines=NUM
              Keep NUM lines of the common prefix and suffix.
       -d  --minimal
              Try hard to find a smaller set of changes.
       --speed-large-files
              Assume large files and many scattered small changes.
       -v  --version
              Output version info.
       --help Output this help.
       FILES  are  ‘FILE1  FILE2’  or ‘DIR1 DIR2’ or ‘DIR FILE...’ or ‘FILE...
       DIR’.  If --from-file or --to-file is given, there are no  restrictions
       on  FILES.  If a FILE is ‘-’, read standard input.  Exit status is 0 if
       inputs are the same, 1 if different, 2 if trouble.
AUTHOR
       Written by Paul Eggert, Mike Haertel, David  Hayes,  Richard  Stallman,
       and Len Tower.
REPORTING BUGS
       Report   bugs   to:  bug-diffutils@gnu.org  GNU  diffutils  home  page:
       <http://www.gnu.org/software/diffutils/>   General   help   using   GNU
       software: <http://www.gnu.org/gethelp/>
COPYRIGHT
       Copyright  ©  2010  Free Software Foundation, Inc.  License GPLv3+: GNU
       GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
       This is free software: you are free  to  change  and  redistribute  it.
       There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
       The  full documentation for diff is maintained as a Texinfo manual.  If
       the info and diff programs are properly installed  at  your  site,  the
       command
              info diff
       should give you access to the complete manual.