xref: /freebsd-src/usr.bin/sdiff/sdiff.1 (revision a834edfccd14a8c0f152a3b0078469af8e05f3fd)
113b5b548SBaptiste Daroussin.\" $OpenBSD: sdiff.1,v 1.15 2007/06/29 14:48:07 jmc Exp $
213b5b548SBaptiste Daroussin.\"
313b5b548SBaptiste Daroussin.\" Written by Raymond Lai <ray@cyth.net>.
413b5b548SBaptiste Daroussin.\" Public domain.
513b5b548SBaptiste Daroussin.\"
6*a834edfcSDag-Erling Smørgrav.Dd February 16, 2024
713b5b548SBaptiste Daroussin.Dt SDIFF 1
813b5b548SBaptiste Daroussin.Os
913b5b548SBaptiste Daroussin.Sh NAME
1013b5b548SBaptiste Daroussin.Nm sdiff
1113b5b548SBaptiste Daroussin.Nd side-by-side diff
1213b5b548SBaptiste Daroussin.Sh SYNOPSIS
1313b5b548SBaptiste Daroussin.Nm
1485bb63bdSBaptiste Daroussin.Op Fl abdilstHW
1513b5b548SBaptiste Daroussin.Op Fl I Ar regexp
1613b5b548SBaptiste Daroussin.Op Fl o Ar outfile
1713b5b548SBaptiste Daroussin.Op Fl w Ar width
1813b5b548SBaptiste Daroussin.Ar file1
1913b5b548SBaptiste Daroussin.Ar file2
2013b5b548SBaptiste Daroussin.Sh DESCRIPTION
2113b5b548SBaptiste Daroussin.Nm
2213b5b548SBaptiste Daroussindisplays two files side by side,
2313b5b548SBaptiste Daroussinwith any differences between the two highlighted as follows:
2413b5b548SBaptiste Daroussinnew lines are marked with
2513b5b548SBaptiste Daroussin.Sq \*(Gt ;
2613b5b548SBaptiste Daroussindeleted lines are marked with
2713b5b548SBaptiste Daroussin.Sq \*(Lt ;
2813b5b548SBaptiste Daroussinand changed lines are marked with
2913b5b548SBaptiste Daroussin.Sq \*(Ba .
3013b5b548SBaptiste Daroussin.Pp
3113b5b548SBaptiste Daroussin.Nm
3213b5b548SBaptiste Daroussincan also be used to interactively merge two files,
3313b5b548SBaptiste Daroussinprompting at each set of differences.
3413b5b548SBaptiste DaroussinSee the
3513b5b548SBaptiste Daroussin.Fl o
3613b5b548SBaptiste Daroussinoption for an explanation.
3713b5b548SBaptiste Daroussin.Pp
3813b5b548SBaptiste DaroussinThe options are:
3913b5b548SBaptiste Daroussin.Bl -tag -width Ds
4013b5b548SBaptiste Daroussin.It Fl l -left-column
4113b5b548SBaptiste DaroussinOnly print the left column for identical lines.
4213b5b548SBaptiste Daroussin.It Fl o -output Ar outfile
4313b5b548SBaptiste DaroussinInteractively merge
4413b5b548SBaptiste Daroussin.Ar file1
4513b5b548SBaptiste Daroussinand
4613b5b548SBaptiste Daroussin.Ar file2
4713b5b548SBaptiste Daroussininto
4813b5b548SBaptiste Daroussin.Ar outfile .
4913b5b548SBaptiste DaroussinIn this mode, the user is prompted for each set of differences.
5013b5b548SBaptiste DaroussinSee
5113b5b548SBaptiste Daroussin.Ev EDITOR
521ddda798SBaptiste Daroussinand
531ddda798SBaptiste Daroussin.Ev VISUAL ,
5413b5b548SBaptiste Daroussinbelow,
5513b5b548SBaptiste Daroussinfor details of which editor, if any, is invoked.
5613b5b548SBaptiste Daroussin.Pp
5713b5b548SBaptiste DaroussinThe commands are as follows:
5813b5b548SBaptiste Daroussin.Bl -tag -width Ds
5913b5b548SBaptiste Daroussin.It Cm l | 1
6013b5b548SBaptiste DaroussinChoose left set of diffs.
6113b5b548SBaptiste Daroussin.It Cm r | 2
6213b5b548SBaptiste DaroussinChoose right set of diffs.
6313b5b548SBaptiste Daroussin.It Cm s
6413b5b548SBaptiste DaroussinSilent mode \(en identical lines are not printed.
6513b5b548SBaptiste Daroussin.It Cm v
6613b5b548SBaptiste DaroussinVerbose mode \(en identical lines are printed.
6713b5b548SBaptiste Daroussin.It Cm e
6813b5b548SBaptiste DaroussinStart editing an empty file, which will be merged into
6913b5b548SBaptiste Daroussin.Ar outfile
7013b5b548SBaptiste Daroussinupon exiting the editor.
7113b5b548SBaptiste Daroussin.It Cm e Cm l
7213b5b548SBaptiste DaroussinStart editing file with left set of diffs.
7313b5b548SBaptiste Daroussin.It Cm e Cm r
7413b5b548SBaptiste DaroussinStart editing file with right set of diffs.
7513b5b548SBaptiste Daroussin.It Cm e Cm b
7613b5b548SBaptiste DaroussinStart editing file with both sets of diffs.
7713b5b548SBaptiste Daroussin.It Cm q
7813b5b548SBaptiste DaroussinQuit
7913b5b548SBaptiste Daroussin.Nm .
8013b5b548SBaptiste Daroussin.El
8113b5b548SBaptiste Daroussin.It Fl s -suppress-common-lines
8213b5b548SBaptiste DaroussinSkip identical lines.
8313b5b548SBaptiste Daroussin.It Fl w -width Ar width
8413b5b548SBaptiste DaroussinPrint a maximum of
8513b5b548SBaptiste Daroussin.Ar width
8613b5b548SBaptiste Daroussincharacters on each line.
8713b5b548SBaptiste DaroussinThe default is 130 characters.
8813b5b548SBaptiste Daroussin.El
8913b5b548SBaptiste Daroussin.Pp
9013b5b548SBaptiste DaroussinOptions passed to
9113b5b548SBaptiste Daroussin.Xr diff 1
9213b5b548SBaptiste Daroussinare:
9313b5b548SBaptiste Daroussin.Bl -tag -width Ds
9413b5b548SBaptiste Daroussin.It Fl a -text
9513b5b548SBaptiste DaroussinTreat
9613b5b548SBaptiste Daroussin.Ar file1
9713b5b548SBaptiste Daroussinand
9813b5b548SBaptiste Daroussin.Ar file2
9913b5b548SBaptiste Daroussinas text files.
10013b5b548SBaptiste Daroussin.It Fl b -ignore-space-change
10113b5b548SBaptiste DaroussinIgnore trailing blank spaces.
10213b5b548SBaptiste Daroussin.It Fl d -minimal
10313b5b548SBaptiste DaroussinMinimize diff size.
10413b5b548SBaptiste Daroussin.It Fl I -ignore-matching-lines Ar regexp
10513b5b548SBaptiste DaroussinIgnore line changes matching
10613b5b548SBaptiste Daroussin.Ar regexp .
10713b5b548SBaptiste DaroussinAll lines in the change must match
10813b5b548SBaptiste Daroussin.Ar regexp
10913b5b548SBaptiste Daroussinfor the change to be ignored.
11013b5b548SBaptiste Daroussin.It Fl i -ignore-case
11113b5b548SBaptiste DaroussinDo a case-insensitive comparison.
11213b5b548SBaptiste Daroussin.It Fl t -expand-tabs
11313b5b548SBaptiste DaroussinExpand tabs to spaces.
11413b5b548SBaptiste Daroussin.It Fl W -ignore-all-space
11513b5b548SBaptiste DaroussinIgnore all spaces.
11613b5b548SBaptiste Daroussin.It Fl B -ignore-blank-lines
11713b5b548SBaptiste DaroussinIgnore blank lines.
11813b5b548SBaptiste Daroussin.It Fl E -ignore-tab-expansion
11913b5b548SBaptiste DaroussinTreat tabs and eight spaces as the same.
12013b5b548SBaptiste Daroussin.It Fl H -speed-large-files
12113b5b548SBaptiste DaroussinAssume scattered small changes in a large file.
12213b5b548SBaptiste Daroussin.It Fl -ignore-file-name-case
12313b5b548SBaptiste DaroussinIgnore the case of file names.
12413b5b548SBaptiste Daroussin.It Fl -no-ignore-file-name-case
12513b5b548SBaptiste DaroussinDo not ignore file name case.
12613b5b548SBaptiste Daroussin.It Fl -strip-trailing-cr
12713b5b548SBaptiste DaroussinSkip identical lines.
12813b5b548SBaptiste Daroussin.It Fl -tabsize Ar NUM
12913b5b548SBaptiste DaroussinChange the size of tabs (default is 8.)
13013b5b548SBaptiste Daroussin.El
13113b5b548SBaptiste Daroussin.Sh ENVIRONMENT
13213b5b548SBaptiste Daroussin.Bl -tag -width Ds
1331ddda798SBaptiste Daroussin.It Ev EDITOR , VISUAL
13413b5b548SBaptiste DaroussinSpecifies an editor to use with the
13513b5b548SBaptiste Daroussin.Fl o
13613b5b548SBaptiste Daroussinoption.
1371ddda798SBaptiste DaroussinIf both
1381ddda798SBaptiste Daroussin.Ev EDITOR
1391ddda798SBaptiste Daroussinand
1401ddda798SBaptiste Daroussin.Ev VISUAL
1411ddda798SBaptiste Daroussinare set,
1421ddda798SBaptiste Daroussin.Ev VISUAL
1431ddda798SBaptiste Daroussintakes precedence.
1441ddda798SBaptiste DaroussinIf neither
1451ddda798SBaptiste Daroussin.Ev EDITOR
1461ddda798SBaptiste Daroussinnor
1471ddda798SBaptiste Daroussin.Ev VISUAL
1481ddda798SBaptiste Daroussinare set,
14913b5b548SBaptiste Daroussinthe default is
15013b5b548SBaptiste Daroussin.Xr vi 1 .
15113b5b548SBaptiste Daroussin.It Ev TMPDIR
15213b5b548SBaptiste DaroussinSpecifies a directory for temporary files to be created.
15313b5b548SBaptiste DaroussinThe default is
15413b5b548SBaptiste Daroussin.Pa /tmp .
15513b5b548SBaptiste Daroussin.El
15613b5b548SBaptiste Daroussin.Sh SEE ALSO
15713b5b548SBaptiste Daroussin.Xr cmp 1 ,
15813b5b548SBaptiste Daroussin.Xr diff 1 ,
15913b5b548SBaptiste Daroussin.Xr diff3 1 ,
16013b5b548SBaptiste Daroussin.Xr vi 1 ,
16113b5b548SBaptiste Daroussin.Xr re_format 7
16213b5b548SBaptiste Daroussin.Sh AUTHORS
16313b5b548SBaptiste Daroussin.Nm
16413b5b548SBaptiste Daroussinwas written from scratch for the public domain by
16513b5b548SBaptiste Daroussin.An Ray Lai Aq ray@cyth.net .
16613b5b548SBaptiste Daroussin.Sh CAVEATS
16713b5b548SBaptiste DaroussinTabs are treated as anywhere from one to eight characters wide,
16813b5b548SBaptiste Daroussindepending on the current column.
16913b5b548SBaptiste DaroussinTerminals that treat tabs as eight characters wide will look best.
170