如何在Linux中比较二进制文件的前N个字节
我有两个不同大小的二进制文件。我需要在 Linux 中比较这些文件的前 N 个字节。我期望结果是“是”(相同)或“否”(不相同),而不是逐字节比较。 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
但我想知道是否还有另一种更简单的方法。 谢谢。
I have two binary files with different sizes. I need to compare first N bytes of these files in Linux. I expect that the result is either "yes" (the same) or "no" (not the same), not byte-to-byte comparing. The N may vary from KBs to GBs.
Currently I'm using the following approach:
head -c N input1.dat | rdiff signature >1.sig
head -c N input2.dat | rdiff signature >2.sig
diff 1.sig 2.sig
But I'm wondering if there is another approach, more simple.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试
cmp
:从手册页来看:如果输入相同,则退出状态为 0,如果不同,则退出状态为 1,如果出现问题,则退出状态为 2。
Try
cmp
:From the man page: exit status is 0 if inputs are the same, 1 if different, 2 if trouble.