Linux命令(九)比较文件差异 diff

diff 命令介绍

diff 命令的功能为逐行比较两个文本文件,列出其不同之处。对给出的文件进行系统的检查,并显示出两个文件中所有不同的行。如果 diff 命令后跟的是目录,则会对该目录中的同名文件进行比较,但不会比较其子目录。

常用参数说明

-a 预设只会逐行比较文本文件

-b 忽略行尾的空格
-B 不检查空白行

-c 用上下文输出格式,提供 n 行上下文
-C 执行与 -c 命令相同

-d 使用不同的演算法,以较小的单位来做比较

-f 输出的格式类似于ed 的script,但按照原来文件的顺序来显示不同处

-H 比较大文件时可以加快速度

-l 若比较的文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。

-i 不检查大小写的不同
-I 讲结果交由 pr 程序来分页

-n 将比较结果以 RCS 的格式来显示
-N 在比较目录时,若文件 A 仅出现在某个目录中,则预设会显示。

-p 若比较的文件为 C语言 的程序源文件时,则预设会显示
-P 与 -N 类似,但只有当第二个目录包含了包含了第一个目录中没有的文件按时,才会将这个文件与空白的文件比较。

-q 仅显示有无差异,不显示详细信息

-r 比较子目录中的文件

-s 若没有发现任何差异,任然显示信息
-S 在比较目录时,从指定的文件开始比较

-t 在输出时将 tab 字符展开
-T 在每行前面加上tab 字符以便对齐

-u,-U 以合并的方式来显示文件内容的不同

-v 显示版本信息

-w 忽略全部的空格字符
-W 在使用 -y 参数时,指定栏宽

-x 不比较选项中指定的文件或目录
-X 可以将文件或目录类型存成文本文件,然后指定此文本文件

-y 以并列的方式显示文件的异同之处

--help 显示帮助

实例

diff a.c  b.txt 
diff a.c  b.txt | cat -n

在上述结果中, 以 < 开头的行属于第一个文件,以 > 开头的行属于第二个文件,字母 a b c 分别表示 附加 删除 修改操作(上述结果中仅有c)。

posted @ 2018-01-07 22:22  ay-a  阅读(17192)  评论(0编辑  收藏  举报