FreeBSD 上的 patch(1) 不支持空字节。使用 GNU diff/patch,我可以使用一个补丁处理包含空字节的多个文件,但 xxd(处理空字节)似乎不支持这一点。如何使用本机 FreeBSD 工具链生成类似于统一差异的内容?
答案1
“本机 FreeBSD 工具链”,即基础系统是相当有限的。你可以使用端口用于 GNU diff/patch,或者xdelta
. bsdiff
也是一种可能。
然而,统一差异(正如评论所建议的)是专门针对文本文件因为它们是一种特定的格式线。
Xdelta 提供了在一对文件之间生成增量并随后应用这些增量的能力。它的操作类似于 diff 和 patch 命令,但适用于二进制文件并且不会产生人类可读的输出。
- 二进制差异/补丁实用程序(替代
xdelta
),据报道“纳入基础系统”早在 2009 年之前。参见手册页。
端口: