拆分TAR.BZ2文件并单独提取每个(Split tar.bz2 file and extract

2019-09-16 16:46发布

我可以拆分大TAR.BZ2文件分成几个较小的文件,并在Ubuntu中单独提取那些小TAR.BZ2文件?

谢谢,

Answer 1:

我不认为它很容易成为可能。 一个.tar.bz2是一个单一的数据流,它并没有像索引zip ,将允许跳过到存档中的特定文件的开始。 您可以使用分割文件split工具,而且比cat的部分,并提取它们(您可以通过标准输入这样做是为了避免重新创建磁盘上的粘贴文件)。 第一个片段将是可能的单独提取物(除了在它的最后一个文件,该文件可能会被损坏),但没有它们之前落入onces进一步碎片将无法使用。



Answer 2:

你可以尝试--multi-volume选项:

tar -cf archive.tar --multi-volume --tape-length 1024 folder

不幸的是,它不压缩的档案工作:

tar: Cannot use multi-volume compressed archives

你可以单独压缩卷,但卷的大小可能有很大的不同。

希望它解决了您的使用情况。



Answer 3:

不知道是否仍需要利用这样的服务,但是我发现,将至少让你与焦油(BZ2)压缩一起使用split命令的方法。 至于单独提取每个文件,此选项看到文件作为一个整体的一部分(跨越多个卷时很像的Winzip不...如果其中一个卷丢失,档案作为一个整体已损坏)。 照这样说:

创建分割文件。 请注意,这将创建顺序用“AA,AB,AC”命名的文件:

焦油-cv(Z / J)F - (文件归档)| 分割-b(字节大小,如4000米) - (名称为输出归档文件)

提取分割文件:

猫(FILE *)| 命令:bzcat / gunzip解(-d)| 焦油(T / x)的V(J / Z)F -

(如果你使用了“J”的选项,命令:bzcat会去管内)或者(如果使用的是“Z”选项,gunzip解会去管内)。 您可能还需要使用“gunzip解-d”这两个管道内,如果你得到一个错误



Answer 4:

将文件分割成多个文件。

它会自动创建一个大小为1.1GB的文件,如果你的焦油的规模比较大,你可以增加数,对于如10 {2..1000}或者您也可以增加输入到磁带长度参数。

tar --tape-length=1048576 -cMv --file=tar_archive.{tar,tar-{2..100}} backup.tar.lzma

但作为@michal说,这是不可能单独提取出来。

tar: backup.tar.lzma: Cannot extract -- file is continued from another volume
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now


文章来源: Split tar.bz2 file and extract each individually
标签: linux ubuntu tar