`split` 是一个用于将大文件分割成多个小文件的Linux命令,支持按块大小或按行数进行分割。以下是具体使用方法:
一、按块大小分割文件
基本语法
```bash
split [选项] 输入文件 输出文件前缀 [其他参数]
```
- `-b`:指定每个输出文件的大小(如100k、400M等),支持K、M、G等单位。
- 示例:将700MB文件分割为400MB的小文件
```bash
split -b 400M king_of_ring.avi
```
- 自定义前缀:可指定任意字符串作为输出文件前缀(如`test_`)。
高级用法
- 指定输出文件后缀类型(数字或字母):
```bash
使用字母后缀(默认)
split -b 10k data.file xaa xab xac
使用数字后缀
split -b 10k data.file 0001 0002 0003
```
- 混合命名规则:
```bash
split -b 10k data.file -d -a 3 prefix_
生成文件名:prefix_0001, prefix_0002, ...
```
二、按行数分割文件
基本语法
```bash
split [选项] 输入文件 输出文件前缀 -l 行数
```
- `-l`:指定每个输出文件的最大行数(如1000行)。
- 示例:将2300行文件分割为每行500行的文件
```bash
split -l 500 messages.old new_prefix.txt*
```
- 默认行为:若未指定`-l`,则按1000行分割。
注意事项
- 行数计算以完整行为单位,最后一行不足时可能被舍弃或单独成文件。
三、其他常用选项
`-d`:使用数字后缀(如`0001`, `0002`)替代字母后缀。
`-a`:指定后缀长度(如4位数字)。
`-c`:限制每个输出文件的最大字节数。
四、示例综合应用
假设需将6GB文件`test.log`按1GB分割,并使用自定义前缀`log_part_`,命令如下:
```bash
split -b 1G test.log log_part_
```
执行后可能生成`log_part_aa`, `log_part_ab`, `log_part_ac`等文件。
通过以上方法,可灵活实现文件按块或按行的分割,满足不同场景需求。