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

10-16

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