両方のバイナリファイルで最長の一致セクションを見つける

両方のバイナリファイルで最長の一致セクションを見つける

それぞれ約50MBの2つのバイナリファイルがあるとしましょう。可能数値的に同じ部品が含まれています。これら2つのファイルを比較し、最も長い同じセクションを見つけてファイルに保存する簡単な方法はありますか?

(重要な場合は、問題のファイルはストリームキャプチャAACファイルです。オーディオ定型句があります。同じですが、数字は同じでも同じでもないかもしれません。したがって、私は2つの部分で構成されたタスクを実行します。まず、定型句が数値的に等しいことを確認してから、同じ部分を抽出します。 )

ベストアンサー1

私はcmpこれを使用することをお勧めします。これは非常に便利で、他のバイトを印刷したい場合は、-bやもっと冗長な-lなどの素晴らしいオプションがあります。たとえば、ファイルaとbを比較するには、次のコマンドラインを使用します。

$ cmp -lb a b

他のすべてのバイトを出力します。両方のファイルが同じ場合、cmpは自動的に返します(常に戻り値$?を確認できます)。 -bオプションを持つcmpは異なるバイトのみを出力し、-lオプションを使用しないと他の最初のバイトで停止します。

おすすめ記事