Linux 按块拆分大文件

Linux split big files by chunks

我的主机中有一个大文件 (15GB)。

我想将此文件拆分为 200MB 的块。

目前,我使用:

split -a 3 -d -b 200MB my_big_file /tmp/chunk_

问题是目前我只有10GB可用空间space,我想按偏移量分割,意思是第一步是从大文件中读取7GB,用[=12分割它=], 删除拆分文件,然后从 7GB 拆分为 15GB.

我该怎么做?

使用dd命令读取文件,并指定块大小的值为1count的值为文件字节数的一半,以便首先读取文件的一半并将 dd 命令的输出重定向到 split 命令,如下所示:

(假设:big_file 是您的 15GB 文件的名称,其大小(以字节为单位)正好是 15GB

# dd if=big_file bs=1 count=8053063680 | split -a 3 -d -b 200MB - /tmp/chunk_

这会将文件的前半部分拆分为 200MB

请注意 805306368015GB 字节数的一半(16106127360 字节)。

下半场

# dd if=big_file bs=1 skip=8053063680 count=8053063680 | split -a 3 -d -b 200MB - /tmp/chunk_

同样,请确定文件的确切大小(以字节为单位),并根据该大小为 countskip 赋值。