linux切割文件【split命令详解】

时间:2022-09-17 23:19:20

linux查看帮助

[tomcat-nohup]$ split --help
用法:split [选项]... [输入 [前缀]]
将输入内容拆分为固定大小的分片并输出到"前缀aa""前缀ab",...;
默认以 1000 行为拆分单位,默认前缀为"x"。如果不指定文件,或
者文件为"-",则从标准输入读取数据。

长选项必须使用的参数对于短选项时也是必需使用的。
  -a, --suffix-length=N    指定后缀长度为N (默认为2)
  -b, --bytes=大小        指定每个输出文件的字节大小
  -C, --line-bytes=大小    指定每个输出文件里最大行字节大小
  -d, --numeric-suffixes     使用数字后缀代替字母后缀
  -l, --lines=数值        指定每个输出文件有多少行
      --verbose        在每个输出文件打开前输出文件特征
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。

使用实例:

1.(按文件大小分割)比如我想将一个log文件切割成每个1M大小,后缀是2位数字结尾的子文件,子文件以child开头,则

split -a 2 -d -b 1M app.log.10 child -a 2  后缀是2位
-d  后缀是数字
-b 1M 每个文件最大1M
tomcat-bankgw-app.log.10 child     需要切割的文件是tomcat-bankgw-app.log.10,生成的子文件前缀是 "child"

 

结果如下:

linux切割文件【split命令详解】

 

2.(按行数做分割)将一个文件分割成每1万行一个文件,后缀是2位,子文件以child开头

split -a 2 -l 10000 app.log child -a 2  后缀是2位
-l 10000  每10000行一个文件
tomcat-bankgw-app.log.10 child     需要切割的文件是tomcat-bankgw-app.log.10,生成的子文件前缀是 "child"

 切割结果:

linux切割文件【split命令详解】

注意:此次结尾是字母排序,而不是数字了。这是默认的方式。

 

------------Mac的split命令---------

$ split --help
split: illegal option -- -
usage: split [-a sufflen] [-b byte_count] [-l line_count] [-p pattern]
             [file [prefix]]

mac的这个和linux的相比,最大的区别就是不能以数字作为后缀了。其他基本一致