Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022



sdiff - print differences between two files side-by-side


sdiff [-l] [-s] [-o output] [-w n] filename1 filename2


sdiff uses the output of the diff command to produce a side-by-side listing of two files indicating lines that are different. Lines of the two files are printed with a blank gutter between them if the lines are identical, a < in the gutter if the line appears only in filename1, a > in the gutter if the line appears only in filename2, and a | for lines that are different. (See the EXAMPLES section below.)



Print only the left side of any lines that are identical.


Do not print identical lines.

–o output

Use the argument output as the name of a third file that is created as a user-controlled merge of filename1 and filename2. Identical lines of filename1 and filename2 are copied to output. Sets of differences, as produced by diff, are printed; where a set of differences share a common gutter character. After printing each set of differences, sdiff prompts the user with a % and waits for one of the following user-typed commands:


Append the left column to the output file.


Append the right column to the output file.


Turn on silent mode; do not print identical lines.


Turn off silent mode.

e l

Call the editor with the left column.

e r

Call the editor with the right column.

e b

Call the editor with the concatenation of left and right.


Call the editor with a zero length file.


Exit from the program.

On exit from the editor, the resulting file is concatenated to the end of the output file.

–w n

Use the argument n as the width of the output line. The default line length is 130 characters.


Example 1 An example of the sdiff command.

A sample output of sdiff follows.

x   |   y
a       a
b   <
c   <
d       d
    >   c

Environment Variables

If any of the LC_* variables (LC_CTYPE, LC_MESSAGES, LC_TIME, LC_COLLATE, LC_NUMERIC, or LC_MONETARY) (see environ(7)) are not set in the environment, the operational behavior of sdiff for each corresponding locale category is determined by the value of the LANG environment variable. If LC_ALL is set, its contents are used to override both the LANG and the other LC_* variables. If none of the above variables is set in the environment, the "C" locale determines how sdiff behaves.


Determines how sdiff handles characters. When LC_CTYPE is set to a valid value, sdiff can display and handle text and filenames containing valid characters for that locale.


See attributes(7) for descriptions of the following attributes:


See Also

ed(1), diff(1), attributes(7), environ(7)