For the complete documentation index, see llms.txt. This page is also available as Markdown.

sdiff(1)

sdiff — 并排显示文件差异

名称

sdiff

概要

sdiff [-abdilstHW] [-I regexp] [-o outfile] [-w width] file1 file2

描述

sdiff 并排显示两个文件,两者之间的任何差异按如下方式高亮显示:新增行以“>”标记;删除行以“<”标记;更改行以“|”标记。

sdiff 还可用于交互式合并两个文件,在每组差异处提示用户。详见 -o 选项的说明。

选项如下:

-l --left-column 对于相同的行,仅打印左列。

-o --output outfilefile1file2 交互式合并到 outfile 中。在此模式下,每组差异都会提示用户。关于调用哪个编辑器(如果有),参见下文的 EDITORVISUAL。命令如下:

l | 1 选择左侧的差异集合。

r | 2 选择右侧的差异集合。

s 静默模式——不打印相同的行。

v 详细模式——打印相同的行。

e 开始编辑一个空文件,退出编辑器时将其合并到 outfile

e l 开始编辑包含左侧差异集合的文件。

e r 开始编辑包含右侧差异集合的文件。

e b 开始编辑包含两侧差异集合的文件。

q 退出 sdiff

-s --suppress-common-lines 跳过相同的行。

-w --width width 每行最多打印 width 个字符。默认为 130 个字符。

传递给 diff(1) 的选项:

-a --textfile1file2 视为文本文件。

-b --ignore-space-change 忽略尾随空格。

-d --minimal 最小化 diff 大小。

-I --ignore-matching-lines regexp 忽略匹配 regexp 的行更改。更改中的所有行都必须匹配 regexp 才能被忽略。

-i --ignore-case 进行不区分大小写的比较。

-t --expand-tabs 将制表符扩展为空格。

-W --ignore-all-space 忽略所有空格。

-B --ignore-blank-lines 忽略空行。

-E --ignore-tab-expansion 将制表符和八个空格视为相同。

-H --speed-large-files 假定大文件中分散着小更改。

--ignore-file-name-case 忽略文件名的大小写。

--no-ignore-file-name-case 不忽略文件名的大小写。

--strip-trailing-cr 跳过相同的行。

--tabsize NUM 更改制表符的大小(默认为 8)。

环境变量

EDITOR , VISUAL 指定与 -o 选项一起使用的编辑器。如果同时设置了 EDITORVISUALVISUAL 优先。如果两者都未设置,默认使用 vi(1)

TMPDIR 指定创建临时文件的目录。默认为 /tmp

参见

cmp(1), diff(1), diff3(1), vi(1), re_format(7)

作者

sdiff 由 Ray Lai ray@cyth.net 从头编写,属于公共领域。

注意事项

制表符被视为宽度从一到八个字符不等,具体取决于当前列。将制表符视为八个字符宽的终端显示效果最佳。

最后更新于

这有帮助吗?