Name

diff — stdin  stdout  - file  -- opt  --help  --version

Synopsis

diff [options] file1 file2

The diff command compares two files line by line, or two directories. When comparing text files, diff can produce detailed reports of their differences. For binary files, diff merely reports whether they differ or not. For all files, if there are no differences, diff produces no output.

The traditional output format looks like this:

Indication of line numbers and the type of change
< Corresponding section of file1, if any
---
> Corresponding section of file2, if any

For example, if we start with a file fileA:

Hello, this is a wonderful file.
The quick brown fox jumped over
the lazy dogs.
Goodbye for now.

Suppose we delete the first line, change “brown” to “blue” on the second line, and add a final line, creating a file fileB:

The quick blue fox jumped over
the lazy dogs.
Goodbye for now.
Macs r00l!

Then diff fileA fileB produces this output:

1,2c1                        fileA lines 1–2 became fileB line 1
< Hello, this is a wonderful file. Lines 1–2 of fileA
< The quick brown fox jumped over
---                                diff separator
> The quick blue fox jumped over   Line 1 of fileB

4a4                                Line 4 was added in fileB
> Macs r00l!                       The added line

The leading symbols < and > are arrows indicating fileA and fileB, respectively. This output format is the default: many others are available, some of which can be fed directly to other tools. Try them out to see what they look like.

Option

Output format

-n

RCS version control format, as produced by the command ...

Get Macintosh Terminal Pocket Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.