split 是一个在 Unix/Linux 系统中用于分割文件的实用命令。它可以将一个大文件分割成多个较小的文件,便于传输、存储或处理。
基本语法
split [选项] [输入文件] [输出文件前缀]
常用选项
| 选项 | 描述 |
|---|---|
-b SIZE |
按大小分割,SIZE 可以是字节(默认)、K(千字节)、M(兆字节)、G(千兆字节)等 |
-l NUM |
按行数分割,每个文件包含 NUM 行 |
-a NUM |
使用 NUM 个字母作为后缀长度(默认是2) |
-d |
使用数字后缀而不是字母 |
--verbose |
在分割时打印详细信息 |
--additional-suffix=SUFFIX |
为输出文件名添加额外后缀 |
使用示例
按大小分割文件:
split -b 100M largefile.dat smallfile_将
largefile.dat分割成每个 100MB 的小文件,前缀为smallfile_按行数分割文件:
split -l 1000 biglog.txt logpart_将
biglog.txt分割成每个包含 1000 行的小文件使用数字后缀:
split -d -b 50M video.mp4 part_生成的文件名会是
part_00,part_01等自定义后缀长度:
split -a 3 -b 10M data.bin segment_使用3个字母作为后缀,如
segment_aaa,segment_aab等从标准输入读取:
cat hugefile.txt | split -l 5000 - chunk_
合并分割的文件
分割后的文件可以使用 cat 命令重新合并:
cat smallfile_* > originalfile
或者按数字顺序合并:
cat part_00 part_01 part_02 > completefile
注意事项
- 默认情况下,分割后的文件会以
xaa,xab,xac等命名 - 使用
-d选项时,后缀会是x00,x01,x02等 - 如果输出文件前缀未指定,默认为
x - 确保目标目录有足够的空间存放分割后的文件