linux如何压缩为gz文件,将一个.gz文件拆分为多个1GB压缩(.gz)文件

我在Linux上有一个250GB的压缩文件,我想将它拆分为250个1GB文件,并在运行时压缩生成的部分文件(只要一个文件被生成,它应该被压缩)。 我试图用这个 -将一个.gz文件拆分为多个1GB压缩(.gz)文件

zcat file.gz | split -b 1G – file.gz.part

但这产生未压缩的文件有很强的针对性。我修改它看起来像这样,但得到了一个错误:

zcat file.gz | split -b 1G - file.gz.part | gzip

gzip: compressed data not written to a terminal. Use -f to force compression.

For help, type: gzip -h

我也试过这一点,并没有抛出任何错误,但并未只要它们生成压缩零件文件。我假设这将在整个分割完成时压缩每个文件(或者它可以打包所有部分文件并在分割完成后创建单个gz文件,我不确定)。

zcat file.gz | split -b 1G - file.gz.part && gzip

我读here有一个过滤器的选择,但我的分裂版本(GNU的coreutils)8.4,因此过滤器不支持。

$ split --version

split (GNU coreutils) 8.4

请告知合适的方式来实现这一点,优选地使用一个衬里代码(如果可能的话)或壳(庆典/ KSH)脚本也将工作。

+0

我建议在某些脚本语言中编写自己的“split with gzip”变体。因为否则,您将不得不通过该250 GB文件多次读取(首先确定它的大小,然后在循环中始终采用一个拼接并对其进行gzip) –

+0

这些部件独立可解压缩的重要性如何?如果你只是运行'split -b 1G file.gz',你最终会得到250个文件部分,你可以把它们放在一起然后解压缩。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值