我有一个损坏的 7-zip 存档,我正在使用Igor Pavlov 在此链接中概述的方法手动提取该存档。中间结果是一个大文件,它是一堆cat
必须手动分离的文件。我了解某些文件格式需要人工自行提取(文本文件等),但许多文件格式会将文件大小编码为文件本身的一部分(例如.zip
)。此外,一些文件可以被解析并且它们的大小可以通过关于文件格式的少量信息来推断(例如.pdf
)。假设大文件由以下连接在一起的文件组成:
Key: <filename>(<contents>)
badfile(aaaaaaaaaaabbbbbbbbbcccccccdddddddd) -> zip1.zip(aaaaaaaaaaa)
badfile2(bbbbbbbbbcccccccdddddddd)
我正在寻找一个可以在一个大文件(调用它badfile
)上运行的程序,它可以确定其中包含的第一个逻辑文件(假设它是一个.zip
文件)的类型和大小,并创建一个新文件来保存内容(例如zip1.zip
因为文件名丢失了)并将文件从badfile
. 这将允许我循环运行程序以提取具有已知类型的文件和/或暂停并让用户处理困难的情况。有这样的程序吗?我知道 *nix 命令file(1)
会在这里做很多工作,但是在编码.pdf
我不希望复制的文件(例如)大小的规则方面会付出很多努力。