web-dev-qa-db-ja.com

xxdとの統一された差分

freeBSDのpatch(1)はnullバイトをサポートしていません。 GNU diff/patchを使用すると、1つのパッチでnullバイトを含む複数のファイルを処理できますが、xxd(nullバイトを処理する)はこれをサポートしていないようです。統合されたdiffに似たものを生成するにはどうすればよいですか。ネイティブのFreeBSDツールチェーンで?

2
Janus Troelsen

「ネイティブFreeBSDツールチェーン」、つまりベースシステムはかなり制限されています。 portsをGNU diff/patch、または代わりにxdeltaに使用できます。bsdiffも可能性です。

ただし、unified diffs(コメントが示すように)は、特にテキストファイルlinesの観点から特定の形式であるため。

Xdeltaは、ファイルのペア間にデルタを生成し、後でそれらのデルタを適用する機能を提供します。 diffおよびpatchコマンドと同様に動作しますが、バイナリファイルで動作し、人間が読める形式の出力を生成しません。

ポート:

4
Thomas Dickey