diffmk [ { -abX | -aeX ] [ -b ] [ -cbX | -ceX ] [ -dbX | -deX ] File1 File2 [ File3 ]
diffmk 命令 比较 File1 参数指定的英文文件和 File2 参数指定的文件。然后它创建 包含 .mc 请求的(建立更改标记)nroff 和 troff 命令的第三方文件。 File1 和 File2 参数分别指定文件的新旧版本。diffmk 命令把新建文件 写到 File3 参数(如果指定的话),或写到标准输出。File3 文件 包含加上已插入格式化程序 .mc 请求的 File2 文件的行。当 File3 文件 被格式化时,修改的文本或插入文本用竖线“|”在每行的右边空白处标记。空白处的星号“*”表示该行已被删。
如果定义了 DIFFMARK 环境变量,它指定 diffmk 命令用于比较文件的命令字符串。(正常情况下,命令 diffmk 使用命令 diff。)例如,为更好处理特大文件,您可以为 diff -h 设定变量 DIFFMARK。
-abX | 用 X 标记从哪行开始添加。 |
-aeX | 用 X 标记在哪行结束。 |
-b | 忽略只有制表符和空格符区别的行。 |
-cbX | 用 X 标记不同的行从哪里开始。 |
-ceX | 用 X 标记不同行在哪里结束。 |
-dbX | 用 X 标记删除行从哪里开始。 |
-deX | 用 X 标记删除行在哪里结束。 |
diffmk chap1.old chap1 chap1.nroff
这将创建一个 chap1 副本,包含 nroff 和 troff 更改标记请求,以识别添加的、更改的和从 chap1.old. 删除的文本。副本存放在 chap1.nroff 文件中。
diffmk -ab'>>New:' -ae'<<End New' \ chap1.old chap1 chap1.nroff
这将使得 diffmk 命令在新添加部分的前一行写 >>New: 到 chap1 中,并在添加部分之后写 <<End New。不同的部分和删除部分仍然建立命令 nroff 和 troff,以在空白处添加竖线“|”或者星号 “*”。
diffmk -b -cb'.mc %' chap1.old chap1 chap1.nroff
这将嵌入如下命令,用 % (百分号)标记更改部分,用竖线“|”标记添加部分,用星号“*”标记删除部分。它不标记仅仅是单词间的制表符或空格符数目不同的差异(-b)。