首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将tar或tar.gz文件重新打包为较小的tar/tar.gz文件

将tar或tar.gz文件重新打包为较小的tar/tar.gz文件
EN

Unix & Linux用户
提问于 2016-07-03 19:55:38
回答 3查看 3K关注 0票数 5

我有一个tar.gz文件,其中包含几百万个文件。由于文件数量的限制,我想要划分内容而不解压缩它。是否有一种方法可以将tar/tar.gz文件划分为多个tar/tar.gz。

如果这是不可能的,可以用python来代替吗?

第一篇文章如果我做错了什么,请告诉我。

编辑:我不想把它放在一起。我想要能够处理每个‘分裂’的文件。

EN

回答 3

Unix & Linux用户

发布于 2016-07-03 20:07:49

分裂是正确的工具。

将文件拆分为10 in块

split -b10m /path/to/file parts

把它放在一起

cat parts* > file

票数 3
EN

Unix & Linux用户

发布于 2016-07-03 20:09:43

您可以使用split来分割它,但是单独的部分在重新组合之前是没有任何意义的。如果你想把它分割成自成一体的档案,你需要解压它。

票数 3
EN

Unix & Linux用户

发布于 2016-07-03 21:08:19

如果不进行解压缩,就不可能将压缩的tar存档分割成块:压缩应用于“tar流”之上,压缩器将此流视为不透明的二进制流。

因此,任何可以从原始压缩的tar存档中生成一组tar文件的工具实际上都会解压缩它。

tar本身没有将tar archive作为输入并生成另一个tar作为输出文件的模式,而不是appenddelete模式。

由于tar存档非常大,您可能不希望多次解压缩它,以便逐部分提取文件,同时为每组提取的文件创建单独的存档。

有一个python库可能允许“在飞行中”进行tar文件处理(我在python中不太擅长亲自验证这一点)。因此,您可以开发一个python脚本,该脚本将从源存档读取项目,然后将它们附加到当前的输出存档中,直到其大小达到您选择的极限。然后,脚本将创建下一个输出存档并继续进行。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/293638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档