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
命令读取文件,并指定块大小的值为1
,count
的值为文件字节数的一半,以便首先读取文件的一半并将 dd
命令的输出重定向到 split
命令,如下所示:
(假设:big_file
是您的 15GB
文件的名称,其大小(以字节为单位)正好是 15GB
):
# dd if=big_file bs=1 count=8053063680 | split -a 3 -d -b 200MB - /tmp/chunk_
这会将文件的前半部分拆分为 200MB
。
请注意 8053063680
是 15GB
字节数的一半(16106127360
字节)。
下半场
# dd if=big_file bs=1 skip=8053063680 count=8053063680 | split -a 3 -d -b 200MB - /tmp/chunk_
同样,请确定文件的确切大小(以字节为单位),并根据该大小为 count
和 skip
赋值。
我的主机中有一个大文件 (15GB)。
我想将此文件拆分为 200MB 的块。
目前,我使用:
split -a 3 -d -b 200MB my_big_file /tmp/chunk_
问题是目前我只有10GB可用空间space,我想按偏移量分割,意思是第一步是从大文件中读取7GB,用[=12分割它=], 删除拆分文件,然后从 7GB 拆分为 15GB.
我该怎么做?
使用dd
命令读取文件,并指定块大小的值为1
,count
的值为文件字节数的一半,以便首先读取文件的一半并将 dd
命令的输出重定向到 split
命令,如下所示:
(假设:big_file
是您的 15GB
文件的名称,其大小(以字节为单位)正好是 15GB
):
# dd if=big_file bs=1 count=8053063680 | split -a 3 -d -b 200MB - /tmp/chunk_
这会将文件的前半部分拆分为 200MB
。
请注意 8053063680
是 15GB
字节数的一半(16106127360
字节)。
下半场
# dd if=big_file bs=1 skip=8053063680 count=8053063680 | split -a 3 -d -b 200MB - /tmp/chunk_
同样,请确定文件的确切大小(以字节为单位),并根据该大小为 count
和 skip
赋值。