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