Linux系统中使用cmp和comm命令来比较两个文件

时间:2021-11-13 05:22:05

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 #比较二个文件