我想知道如何通过比较两个二进制文件为我得到的差异文件创建PATCH。 $ cmp -l>输出文件名
我检查了文本文件'diff'可用于比较和生成PATCH文件 $ diff -u oldFile newFile> mods.diff#-u告诉diff输出统一的diff格式
我想在旧的二进制图像文件上应用PATCH来获取我的新二进制图像文件。
答案 0 :(得分:6)
Diff和Patch旨在处理文本文件,而不是任意二进制数据。您应该使用类似bsdiff的内容。
答案 1 :(得分:2)
JDIFF是一个输出两个(二进制)文件之间差异的程序
您也可以使用rdiff
命令。
答案 2 :(得分:0)
如果您的存储库,或包正在使用git ,您可以使用
git diff --patch --binary old_dir patched_dir
当然你也可以在提交中使用它
git diff --patch --binary commit1 commit2
答案 3 :(得分:-2)
如果您仍想使用差异和放大器补丁。这是一种方式...... 自己编写一个c程序,在每个512/1024 / your_choice字节的末尾插入一个换行符(这只是为了欺骗差异,因为它逐行比较文件)。在两个输入文件上运行此脚本。
然后运行'diff -au file1 file2> mod.diff(你会在这里得到补丁)'
修补很简单'补丁< mod.diff'
再次编写程序以从二进制文件中删除换行符。这就是......