我拆分我的压缩输入文件,通常为 10 GB,如下所示,
zcat file|split -b 1024m - file.part
上述命令将为 10 GB 输入创建 10 个拆分文件。这是我的要求,Unix 机器中的这个过程需要 15-30 分钟,具体取决于服务器负载。我们还有其他技术可以更快地进行分裂吗?也许在 Perl 或 Python 中..
您不需要解压缩输入。
zipsplit
(部分Info-ZIP
)在大多数 *nix 发行版中可用。
根据man zipsplit:
zipsplit - split a zipfile into smaller zipfiles
或者如果使用拆分:
split -b 1024m file file.part
会分裂file
成file.partaa
,file.partab
...
为了从拆分文件创建原始文件,请执行
cat file.part* | gzip -dc > outfile
你几乎肯定会受到硬件的限制。Python 或 Perl 实现不太可能解决此问题。
如果您受到 CPU 的限制,那么使用 Python 或 Perl 绑定到相同的压缩库不会有任何区别。
如果您受到磁盘 IO 的限制,那么使用 Python 或 Perl IO 操作不会使您的磁盘更快。