linux 命令 — split

split

按照数据大小和行数来分割文件

指定分割文件后缀

split -b 10k data.file

按照每个文件10k分割文件(默认使用字母作为后缀)

split -b 10k data.file -d -a 4

使用数字作为分割文件的后缀,后缀长度为4

指定前缀

split [command_args] prefix

split -b 10k data.file -d -a 4 split_file

将split_file作为分割文件名称的前缀

按行分割文件

split -l 10 data.file

每10行分割为一个文件

按照文件自身特点分割csplit

有文本文件如下:

SERVER-1
[connection] 192.168.0.1 success
[connection] 192.168.0.1 success
[connection] 192.168.0.1 success
SERVER-2
[connection] 192.168.0.1 success
[connection] 192.168.0.1 success
[connection] 192.168.0.1 success
SERVER-1
[connection] 192.168.0.1 success
[connection] 192.168.0.1 success
[connection] 192.168.0.1 success

按照服务器分割文件

csplit server.log /SERVER/ -n -s {*} -f server -b "%02d.log"; rm server00.log

/SERVER/: 用来匹配某一行

/[REGEX]/: 表示文本样式。包括从当前行直到(但不包括)包含"SERVER"的匹配行

{星号}: 表示匹配重复执行分割,直到文件末尾为止,可以用{整数}指定分割执行次数

-s: 是命令进入静默模式,不打印其他信息

-n: 指定分割后的文件名后缀数字个数

-f: 指定分割后文件名的前缀

-b: 指定后缀的格式。类似c语言的printf参数格式,这里文件名=前缀+后缀=server + %02d.log

rm server00.log: 因为文件中并没有SERVER-00,所以删除该文件

上一篇:出行服务类API调用的代码示例合集:长途汽车查询、车型大全、火车票查询等


下一篇:python3.7安装