linux切割文件【split命令详解】
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"
结果如下:
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"
切割结果:
注意:此次结尾是字母排序,而不是数字了。这是默认的方式。
------------Mac的split命令---------
$ split --help split: illegal option -- - usage: split [-a sufflen] [-b byte_count] [-l line_count] [-p pattern] [file [prefix]]
mac的这个和linux的相比,最大的区别就是不能以数字作为后缀了。其他基本一致