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
- 确保目标目录有足够的空间存放分割后的文件