需要Linux的CMD行应用程序,以在第一比较二进制文件,并退出不匹配

是否有一个Linux的命令行应用程序,它会比较两个二进制文件和退出的第一个不匹配?

cmp似乎不具备退出opition。

--------------解决方案-------------

cmp没有这个选项 ,因为它总是退出在第一失配。

$ cmp -b /bin/ls /bin/sed
/bin/ls /bin/sed differ: byte 25, line 1 is 320 MP 300 M-@

我觉得你可以去通过3工具:

  • cmp
  • diff
  • md5sum

cmp是更好地为二进制文件和diff是文本文件,更好的为二进制文件diff只是报告他们是否有所不同OT没有。 diff作品也为目录。

任何前两个可以完成你所需要的默默, diff使用-q开关和cmp使用-s切换到告诉你只是一个返回码:0,如果两个文件匹配1,如果没有。

cmp也有一个不错的选择,以避免(在某种程度上)读取整个文件(如果你有大的文件好):如果你知道这些文件可能会有所不同,在第N行或行N和M之间,你可以这样做(即:对于行N = 10和M = 20):

cmp file1 file2 10 20

我加md5sum到列表中,因为如果你有机会,每次来计算MD5校验和编辑这些文件中的一个,那么你可以只比较快速找到,如果他们匹配与否。 在这种情况下,我认为你有很多的文件进行比较。

分类:Linux的 时间:2015-03-15 人气:2
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.601 (s). 10 q(s)