Split命令

split 是 Linux 中用于将大文件拆分为多个小文件的命令。它可以按文件大小或行数来进行拆分,生成的文件可以用自定义的前缀命名。

常用语法:

split [选项] [输入文件] [输出文件前缀]

如果没有指定输入文件,则默认从标准输入读取;没有指定输出前缀,默认使用 x 作为前缀。

常见选项:

  • -b [大小]:按字节数拆分文件。
  • -l [行数]:按行数拆分文件。
  • -d:使用数字作为文件名后缀,而不是字母。
  • -a [长度]:指定后缀长度(默认长度是 2 个字符)。
  • --additional-suffix=[后缀]:给拆分的文件加上额外的后缀。

例如切成1G大小:

split -b 1G us.necess.dat

image-20200330101734399

示例:

1. 按大小拆分文件

将一个大文件 largefile.txt 按 1MB 一块进行拆分,输出文件以 part_ 作为前缀:

split -b 1M largefile.txt part_

这会生成多个文件,如 part_aapart_ab 等,每个文件大小为 1MB。

2. 按行数拆分文件

largefile.txt 按每 100 行拆分:

split -l 100 largefile.txt part_

生成文件如 part_aapart_ab 等,每个文件包含 100 行数据。

3. 按字节数拆分,并使用数字后缀

将文件按 500KB 拆分,并且使用数字后缀而不是字母:

split -b 500K -d largefile.txt part_

生成文件如 part_00part_01 等。

4. 添加文件扩展名

将文件拆分为 10 行一块,并添加 .txt 后缀:

split -l 10 --additional-suffix=.txt largefile.txt part_

生成文件如 part_aa.txtpart_ab.txt 等,每个文件包含 10 行。