可以将几个bz2档案合并为一个?

dmn*_*dmn 7 unix compression bzip2

我有几个(27)巨大的(每个几GB)bz2存档文件,我需要组合成一个bz2存档.解压缩它们然后从未压缩的东西创建一个新的存档对我来说不是一个选项,因为压缩,所有27个文件加起来大约100GB,未压缩它大约5-6TB(是的,这是TERAbytes lol).

这可以通过某种脚本来完成,还是有另一种压缩格式允许这样做(更容易)?

小智 29

您可以简单地将许多bz2文件连接成单个bz2文件,如下所示:

$ cat file1.bz2 file2.bz2 file3.bz2 >resulting_file.bz2

bzip2和其他实用程序一样,lbzip2可以按预期解压缩生成的文件.

  • 事实上,它确实有效!来自 man bzip2:`bunzip2 将正确解压缩由两个或多个压缩文件串联而成的文件。结果是相应的未压缩文件的串联。还支持串联压缩文件的完整性测试(-t)。 (2认同)

lac*_*cos 5

如果您愿意消耗几天的 CPU 资源,这里有一个利用现代 UNIX(R) 操作系统的神奇管道功能的解决方案:

bzip2 -dc file*.bz2 | bzip2 >resulting_file.bz2
Run Code Online (Sandbox Code Playgroud)

...实际上,获取 lbzip2版本 2.0,并在多核上执行相同的操作(除了 lbzip2 之外):

lbzip2 -dc file*.bz2 | lbzip2 >resulting_file.bz2
Run Code Online (Sandbox Code Playgroud)