Linux系统中使用cmp和comm命令来比较两个文件
cmp
cmp 命令:比较任意两个类型的文件,且吧结果输出到标准输出,默认文件相同不输出,不同的文件输出差异
必要参数
-c 显示不同的信息
-l 列出所有的不同信息
-s 错误信息不提示
选择参数
-i<字符数> 指定字符数目
-v 显示版本信息
--help 显示帮助信息
【函数的返回值】
0 :文件时同样的
1 :文件是不同的
>1:发生错误
例:
代码如下:
[root@localhost www]# cmp test1.rb test.rb #比较二个文件的不同
test1.rb test.rb differ: byte 1, line 1
[root@localhost www]# cmp -l test1.rb test.rb #显示所有不同
1 160 162
2 165 145
3 164 161
4 163 165
5 40 151
6 42 162
7 150 145
8 145 40
9 153 42
10 153 155
11 153 171
12 42 163
13 12 161
cmp: EOF on test1.rb
comm
comm - 逐行比较两个已排序的文件
逐行比较 已排序的 文件 LEFT_FILE 和 RIGHT_FILE.
-1
屏蔽 左边文件 (LEFT_FILE) 中 不同于 右边文件 的 行(或内容)
-2
屏蔽 右边文件 (RIGHT_FILE) 中 不同于 左边文件 的 行(或内容)
-3
屏蔽 两个文件 中 相同 的 行(或内容)
(译注: 原文为 "不相同的行", 疑有误)
-l
认为 输入数据 根据 当前的 locale 排了序 (应该 给 sort 提供 -l 选项).
--help
显示 帮助信息, 然后 结束
--version
显示 版本信息, 然后 结束
例:
代码如下:
[root@localhost www]# comm test.rb test1.rb #比较二个文件