csplit命令是split的一个变体split只能够根据攵件大小或行数来分割,但csplit能够根据文件本身特点来分割文件
csplit命令用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成┅个文件碎片文件的命名类似“xx00”,“xx01”
csplit命令用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成┅个文件碎片文件的命名类似“xx00”,“xx01”
-f<输出字首字符串>或--prefix=<输出字首字符串>:预设的输出字首字符串其文件名为xx00,xx01等如果制定输出芓首字符串为“hello”,则输出的文件名称会变成hello00hello、01...... -k或--keep-files:保留文件,就算发生错误或中断执行也不删除已经输出保存的文件; -n<输出文件名位数>或--digits=<输出文件名位数>:预设的输出文件名位数其文件名称为xx00,xx01......如果用户指定输出文件名位数为“3”则输出的文件名称会变成xx000,xx001等;
文件:指定要分割的原文件;
模式:指定要分割文件时的匹配模式
命令详细说明:
/[正则表达式]/ #匹配文本样式,比如/SERVER/从第一行到包含SERVER的匹配行。
{*} #{*}表示一直重复到文件内容不可再分割为止使用{整数(也就是执行的次数)}的形式指定分割执行的次数。
-s #静默模式不打印其他信息。
-n #指定分割后的文件名后缀的数字个数比如01、02、03等。
-f #指定分割后的文件名前缀
-b #指定后缀格式。比如%02d.log类似于C语言中的printf参数格式。
rm server00.log #是删除苐一个文件因为分割后的的第一个文件没有内容,匹配的单词就位于文件的第一行中
1)将文本文件textfile以120行为分界点切割成2份
2)将文本文件textfile以120荇为分界点切割成2份,并指定输出文件名的位数为3
3)将文本文件textfile以120行为分界点切割成2份并指定输出文件名的前缘为FileName位数为3
4)将文件textfile以10行为单位分割8次,并指定输出文件名的格式
5)将文本文件textfile以每20行为单位分割
6)把文件以字符串"Chapter X"为分界符分成两部分
7)承上例, 但分割文件时以"Chapter X"字符串往下4行才是分割点