linux - 如何在 Linux 中比较二进制文件的前 N ​​个字节

标签 linux diff binaryfiles

我有两个不同大小的二进制文件。我需要在 Linux 中比较这些文件的前 N ​​个字节。我希望结果是"is"(相同)或“否”(不相同),而不是逐字节比较。 N 可能从 KB 到 GB 不等。

目前我正在使用以下方法:

head -c N input1.dat | rdiff signature >1.sig
head -c N input2.dat | rdiff signature >2.sig
diff 1.sig 2.sig

但我想知道是否有另一种方法,更简单。 谢谢。

最佳答案

尝试cmp:

cmp -n <bytes> file1 file2

来自手册页:如果输入相同,退出状态为 0,如果不同,则为 1,如果有问题,则为 2。

关于linux - 如何在 Linux 中比较二进制文件的前 N ​​个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204098/

相关文章:

linux - 试图将特定文件复制到特定文件夹,但有一个问题

c++ - 使用 C++ 比较大文件

macos - 检索两篇文本的部分共同内容

python - 将 Fortran 二进制文件读入 Python

c++ - 如何在C++中以二进制方式将列表容器写入文件

linux - 使用 Grep、Awk 等解析大量文件

linux - 在 Linux 中使用 Bash 列出带空格的目录

linux - 在 bash 中使用单引号仍然给出 "event not found"

python 字典更新差异

linux - 有什么办法可以直接修改二进制文件的SONAME吗?