按大小切割:
-
使用split:
split –b 10k data.file–b 按文件大小分 –l 按行数分 -d 以数字为后缀 -a length 指定后缀长度
加切割后文件前缀名:
split –b 10k data.file –d –a 4 split_file
根据行数切割文件:
split –l 10 data.file 每个分割的文件为10行 -
使用csplit
是split工具的一个变体,split只可以按照数据大小和行数分割文件,而csplit可以根据文件自身的特点分割。csplit 【文件名】 /‘关键字’/ -n 2 -s {} -f 【切割后文件名前缀】-b “%02d.sql(输出的文件类型)”
例子:csplit gp-manage.sql /drop/ -n 2 –s {} –f gp-manage–b “%02d.sql”/log/用来匹配某一行,分割从此处开始;
/[REGEX]/文本样式。从当前【第一行】行直到【不包含】“log”的匹配行;
{*}根据匹配重复执行分割,直到文件末尾结束,可以{number}指定重复次数;-s 静默模式,不打印其他信息; -n 指定分割后文件后缀的数字字数; -f 指定分割后文件前缀; -b 指定后缀格式,例如“%02d.sql”,文件前缀+后缀=log+%02d.sql;