基于大小分割文件的有效方法

时间:2013-06-26 11:49:50

标签: python perl unix split

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

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

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

2 个答案:

答案 0 :(得分:3)

您无需解压缩输入。

zipsplitInfo-ZIP的一部分)在大多数* nix发行版中都可用。

根据man zipsplit

zipsplit - split a zipfile into smaller zipfiles

或者如果使用split:

split -b 1024m file file.part

会将file分成file.partaafile.partab ...

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

cat file.part* | gzip -dc > outfile

答案 1 :(得分:0)

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

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

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