freeBSDのpatch(1)はnullバイトをサポートしていません。 GNU diff/patchを使用すると、1つのパッチでnullバイトを含む複数のファイルを処理できますが、xxd(nullバイトを処理する)はこれをサポートしていないようです。統合されたdiffに似たものを生成するにはどうすればよいですか。ネイティブのFreeBSDツールチェーンで?
「ネイティブFreeBSDツールチェーン」、つまりベースシステムはかなり制限されています。 portsをGNU diff/patch、または代わりにxdelta
に使用できます。bsdiff
も可能性です。
ただし、unified diffs(コメントが示すように)は、特にテキストファイルlinesの観点から特定の形式であるため。
Xdeltaは、ファイルのペア間にデルタを生成し、後でそれらのデルタを適用する機能を提供します。 diffおよびpatchコマンドと同様に動作しますが、バイナリファイルで動作し、人間が読める形式の出力を生成しません。
xdelta
の代替)、伝えられるところによると "ベースシステムに組み込まれている" 2009年よりずっと前。 マニュアルページ を参照=。ポート: