sdiff - Compares two files and displays the differences in a side-by-side
sdiff [-l | -s] [-w number] [-o output_file] file1 file2
The sdiff command reads file1 and file2, uses diff to compare them, and
writes the results to standard output in a side-by-side format.
-l Displays only the left side when lines are identical.
Creates a third file, output_file, by a controlled interactive line-
by-line merging of file1 and file2. The following subcommands govern
the creation of this file:
l Adds the left side to output_file.
r Adds the right side to output_file.
s Stops displaying identical lines.
v Begins displaying identical lines.
e l or e <<
e r or e >>
e b or e |
e Enters ed with the left side, the right side, both sides, or an
empty file, respectively.
Each time you exit from ed, sdiff writes the resulting edited file
to the end of output_file. If you fail to save the changes before
exiting, sdiff writes the initial input to output_file.
q Exits the interactive session.
-s Suppresses display of identical lines.
Sets the width of the output line to number (130 characters by
The sdiff command displays each line of the two files with a series of
spaces between them if the lines are identical, a << (left angle bracket) in
the field of spaces if the line only exists in file1, a >> (right angle
bracket) if the line only exists in file2, and a | (vertical bar) for lines
that are different.
When you specify the -o option, sdiff produces a third file by merging
file1 and file2 according to your instructions.
Note that the sdiff command invokes the diff -b command to compare two
input files. The -b option causes the diff command to ignore trailing
spaces, tab characters, and consider other strings of spaces as equal.
1. To print a comparison of two files, enter:
sdiff chap1.bak chap1
This displays a side-by-side listing that compares each line of
chap1.bak and chap1.
2. To display only the lines that differ, enter:
sdiff -s -w 80 chap1.bak chap1
This displays the differences at the tty. The -w 80 sets page width
to 80 columns. The -s option tells sdiff not to display lines that
are identical in both files.
3. To selectively combine parts of two files, enter:
sdiff -s -w 80 -o chap1.combo chap1.bak chap1
This combines chap1.bak and chap1 into a new file called chap1.combo.
For each group of differing lines, sdiff asks you which group to keep
or whether you want to edit them using ed.
Commands: diff(1), ed(1)