Linux csplit命令
Linux csplit命令用于分割文件。拆解文件主要是split和csplit命令,如果说split是按大小来拆分的话,那么csplit则可按匹配来拆分;
将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。
用法:
csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
[-n<输出文件名位数>][--help][--version][文件][范本样式...]
参数:
-b, --suffix-format=格式 使用sprintf 格式代替%02d -f, --prefix=前缀 使用指定前缀代替"xx" -k, --keep-files 不移除错误的输出文件 -n, --digits=数位 使用指定的进制数位代替二进制 -s, --quiet, --silent 不显示输出文件的尺寸计数 -z, --elide-empty-files 删除空的输出文件 --help 显示此帮助信息并退出 --version 显示版本信息并退出 如果文件为"-",则读取标准输入。每个"格式"可以是: 整数 不包括指定的行,并以其为文件分块边界 /表达式/[偏移量] 不包括匹配到的行,并以其为文件分块边界 %表达式%[偏移量] 预先跳过匹配的行数,以其为文件分块边界 {整数} 将之前指定的模式重复指定的次数 {*} 将之前指定的模式重复尽可能多的次数。
图解:
实例:
1、将文本文件testfile以第 2 行为分界点切割成两份,使用如下命令
[root@mysql linux]# csplit log.txt 2 17 # xx00文件字符个数 65 # xx01文件字符个数