このリンクで Igor Pavlov によって概説されている方法を使用して、手動で抽出している破損した 7-zip アーカイブがあります。中間結果は、手動で分離する必要があるファイルの束である大きなファイルですcat
。一部のファイル形式 (テキスト ファイルなど) は人間が裁量を使用して手動で抽出する必要があることを理解していますが、多くのファイル形式はファイルのサイズをファイル自体の一部としてエンコードします (例: .zip
)。さらに、いくつかのファイルは解析でき、ファイル形式に関するほんの少しの情報 (例: .pdf
) でそれらのサイズを推測できます。大きなファイルが、連結された次のファイルで構成されているとします。
Key: <filename>(<contents>)
badfile(aaaaaaaaaaabbbbbbbbbcccccccdddddddd) -> zip1.zip(aaaaaaaaaaa)
badfile2(bbbbbbbbbcccccccdddddddd)
大きなファイル ( と呼びます) で実行できるプログラムを探しています。このプログラムは、含まれbadfile
ている最初の論理ファイル (ファイルとしましょう) のタイプとサイズを判断し.zip
、内容を保持する新しいファイルを作成できます (例:zip1.zip
ファイル名が失われるため)、ファイルをbadfile
. これにより、プログラムをループで実行して、既知のタイプのファイルを抽出したり、一時停止したりして、ユーザーが困難なケースを処理できるようにすることができます。そのようなプログラムは存在しますか?*nix コマンドfile(1)
がここで多くの作業を行うことはわかっていますが、複製したくないファイルのサイズ設定ルール (例: ) をエンコードするために多くの労力が必要になります.pdf
。