split(英文名称为:Split)是 Linux 和 FreeBSD 系统下的文件处理工具,主要作用为分割文件,将大文件分割为多个小文件,而且可以为分割的文件进行命名和编号,使用起来非常的方便。

split 命令包含在 coreutils 软件包当中,大多数系统默认已自带。

本文将为你介绍 split 命令的使用方法,使你对 split 命令具有基本的了解,方便你使用 split 命令对文件进行分割。

split 命令语法形式

split 命令的基本语法形式为:

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

语法内容解释说明:

  • [选项]:分割文件时,使用控制选项,用于控制分割行为(可选,可以不使用任何选项,使用默认的配置)
  • [输入文件]:要分割的文件(可选,当不指定文件时,从标准输入读取内容)
  • [前缀]:输出文件名中使用的前缀(默认为 "x" 字符)

split 命令使用示例

1. 按默认配置分割文件

不指定任何参数时,会使用 split 命令的默认配置分割文件:

split largefile.log

默认分割的文件一个大约1000行,超过的内容会被重新分割为一个新文件。

2. 指定输出文件前缀

在分割文件的后面给出前缀参数,指定文件的前缀:

split database.sql backup_

如上命令指定的分割后的文件的前缀为 backup_

3. 按行数分割文件

使用 -l 指定分割后的每个文件的最大行数:

split -l 3000 access.log

如上示例每 3000 行分割出一个新文件。

4. 按字节大小分割文件

使用 -b 选项指定分割后的每个文件的最大字节数:

split -b 100M video.mp4 video_part_

如上示例每100MB 就会分割出一个新文件,该选项主要适合于二进制文件。

5. 按特定后缀长度

使用 - 选项指定分割后文件名中后缀(后面部分)的字符个数:

split -a 3 large.txt section_

如上示例中指定名称后缀为三个字符,顺序为 aaa aab aac

split 命令选项详解

如下给出 split 命令选项的详细解释说明,方便你参考使用:

选项 说明 参数示例
-a, --suffix-length=N 指定文件名称后缀字符的个数 -a 3
-b, --bytes=SIZE 指定按字节分割的字节数 -b 10M
-C, --line-bytes=SIZE 指定按行字节数分割行字节数(保持行完整) -C 1M
-d, --numeric-suffixes 使用数字替代字母作为文件名称的后缀字符 -d
--numeric-suffixes[=FROM] 从指定数字开始编号 --numeric-suffixes=100
-e, --elide-empty-files 不生成无内容文件 -e
--filter=COMMAND 使用特定命令处理输出 --filter='gzip > $FILE.gz'
-l, --lines=NUMBER 按行数分割 -l 1000
-n, --number=CHUNKS 分割为指定数量的文件 -n 5
--additional-suffix=SUFFIX 添加额外后缀内容 --additional-suffix=.log
-t, --separator=SEP 指定行分隔符 -t ';'
-u, --unbuffered 不使用缓冲区 -u
--verbose 输出分割过程的详细信息 --verbose
--help 显示帮助信息
--version 显示版本信息

如下给出按字节分割时,使用的文件大小单位:

  • K, M, G:千字节、兆字节、千兆字节(1024进制)
  • KB, MB, GB:千字节、兆字节、千兆字节(1000进制)

结语

本文全面的介绍了 split 的语法结构及其功能,并给出了 split 命令的具体使用示例,相信你能够对 split 命令有个基本的了解,并帮助你正确的使用 split 分割文件。 split 命令可以在 Linux 各发行版和 FreeBSD 系统中使用,基本功能是相同的。