diffmk 命令
用途
标记文件的不同处。
语法
差异 [ { -abX | -aeX ] [ -b ] [ -cb X | -ce X ] [ -db X | -de X ] File1 File2 [ File3 ]
描述
diffmk 命令 比较 File1 参数指定的英文文件和 File2 参数指定的文件。 然后,它将为 nroff 和 troff 命令创建包含 .mc 请求 (用于创建更改标记) 的第三个文件。 File1 和 File2 参数分别指定文件的新旧版本。 diffmk 命令将新建文件 写到 File3 参数(如果指定的话),或写到标准输出。 File3 文件包含 File2 文件以及插入的格式化程序 .mc 请求的行。 当 File3 文件 被格式化时,修改的文本或插入文本用竖线“|”在每行的右边空白处标记。 空白处的星号“*”表示该行已被删。
如果定义了 DIFFMARK 环境变量,它指定 diffmk 命令用于比较文件的命令字符串。 (正常情况下,命令 diffmk 使用命令 diff)。 例如,为了更好地处理超大文件,可以将 DIFFMARK 变量设置为diff -h.
参数
| 项 | 描述 |
|---|---|
| File1 | 指定与 File2 参数指定的文件比较的英文文件。 比较结果 包含由 File3 参数指定的文件。 File1 被当作“旧”文件。 |
| File2 | 指定一个英文文件,与 File1 参数指定的文件比较。 比较结果 包含由 File3 参数指定的文件。 File2 被当作“新”文件。 |
| File3 | 指定包含 File2 文件的行以及 nroff 和 troff 命令的已插入格式化程序 .mc 请求的文件。 该文件的内容是参数 File1 和 File2 指定的两个文件的比较结果。 格式化时,不同处用竖线“|”在每行的右边空白处标记。 星号“*”表示该行已被删除。 如果未指定 File3,那么比较结果写到标准输入。 |
标志
| 项 | 描述 |
|---|---|
| -ab X | 用 X 标记从哪行开始添加。 |
| -ae X | 用 X 标记在哪行结束。 |
| -b | 忽略只有制表符和空格符区别的行。 |
| -cbX | 用 X 标记不同的行从哪里开始。 |
| -ce X | 用 X 标记不同行在哪里结束。 |
| -db X | 用 X 标记删除行从哪里开始。 |
| -德 X | 用 X 标记删除行在哪里结束。 |
示例
- 要标记一个文本文件的两个版本的不同,请输入:
这将生成以下项的副本:chap1包含 nroff 和 troff 更改标记请求,以标识已添加,更改或删除的文本chap1.old.此副本保存在chap1.nroff中。diffmk chap1.old chap1 chap1.nroff - 要用非
nroff 和 troff 消息标记不同,请输入:
这将导致 diffmk 命令写入 >>New:在新添加的行的一部分之前的行上chap1,写<<End New在添加的行之后的行上。 不同的部分和删除部分仍然建立命令 nroff 和 troff,以在空白处添加竖线“|”或者星号“*”。diffmk -ab'>>New:' -ae'<<End New' \ chap1.old chap1 chap1.nroff - 要使用不同的 nroff 和 troff 命令标记请求,忽略空格字符区别,请输入:
此嵌入用于标记更改的命令% (百分号) 添加 | (竖线) ,删除 * (星号)。 它不会标记仅涉及不同数目的单词之间的空格或制表符的更改 (-b).diffmk -b -cb'.mc %' chap1.old chap1 chap1.nroff