gpt4 book ai didi

linux - 将 .gz 文件拆分为多个 1GB 压缩 (.gz) 文件

转载 作者:太空狗 更新时间:2023-10-29 11:50:07 30 4
gpt4 key购买 nike

我在 Linux 上有一个 250GB 的 gzip 文件,我想将它分成 250 个 1GB 的文件并即时压缩生成的部分文件(一旦生成一个文件,它就应该被压缩)。我试过用这个 -

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有一个过滤器选项,但我的 split 版本是 (GNU coreutils) 8.4,因此不支持过滤器。

$ split --version
split (GNU coreutils) 8.4

请建议一种合适的方法来实现这一点,最好使用单行代码(如果可能)或 shell (bash/ksh) 脚本也可以。

最佳答案

split 支持过滤命令。使用这个:

zcat file.gz | split - -b 1G --filter='gzip > $FILE.gz' file.part.

关于linux - 将 .gz 文件拆分为多个 1GB 压缩 (.gz) 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41523971/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com