2

我拆分我的压缩输入文件,通常为 10 GB,如下所示,

zcat file|split -b 1024m - file.part

上述命令将为 10 GB 输入创建 10 个拆分文件。这是我的要求,Unix 机器中的这个过程需要 15-30 分钟,具体取决于服务器负载。我们还有其他技术可以更快地进行分裂吗?也许在 Perl 或 Python 中..

4

2 回答 2

3

您不需要解压缩输入。

zipsplit(部分Info-ZIP)在大多数 *nix 发行版中可用。

根据man zipsplit

zipsplit - split a zipfile into smaller zipfiles

或者如果使用拆分:

split -b 1024m file file.part

会分裂filefile.partaafile.partab...

为了从拆分文件创建原始文件,请执行

cat file.part* | gzip -dc > outfile
于 2013-06-26T12:19:14.503 回答
0

你几乎肯定会受到硬件的限制。Python 或 Perl 实现不太可能解决此问题。

如果您受到 CPU 的限制,那么使用 Python 或 Perl 绑定到相同的压缩库不会有任何区别。

如果您受到磁盘 IO 的限制,那么使用 Python 或 Perl IO 操作不会使您的磁盘更快。

于 2013-06-26T12:13:08.050 回答