csplit

将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件。碎片文件的命名类似“xx00”,“xx01”。csplit命令是split的一个变体,split只能够根据文件大小或行数来分割,但csplit能够根据文件本身特点来分割文件。

语法

 csplit [options]... FILE PATTERN...

Options

-f PREFIX
--prefix=PREFIX
   使用PREFIX作为输出文件名前缀

-b SUFFIX
--suffix=SUFFIX
   使用SUFFIX作为输出文件名后缀

-n DIGITS
--digits=输出文件名位数
   预设的输出文件名位数其文件名称为xx00,xx01......如果用户指定输出文件名位数为“3”,则输出的文件名称会变成xx000,xx001等


-k
--keep-files
   遇到错误时,不删除输出文件

-z
--elide-empty-files
   禁止生成零长度输出文件

-s
-q
--silent
--quiet
   不显示指令执行过程

模式参数的类型:

    N
    创建一个输出文件,其中包含输入但不包括行N(正整数)。 
    如果后跟重复计数,还会为每次重复创建一个包含输入文件的下一行LINE行的输出文件。


  /REGEXP/[OFFSET]
  创建一个输出文件,其中包含当前行,但不包括输入文件的下一行,其中包含REGEXP的匹配项。
  可选的OFFSET是一个“+”或“ - ”后跟一个正整数。
  如果给出,直到匹配行加上或减去OFFSET的输入被放入输出文件中,之后的行开始下一部分输入。


 %REGEXP%[OFFSET]
 与之前的类型一样,除了它不创建输出文件之外,因此输入文件的部分被有效地忽略。


{REPEAT-COUNT}
 重复上一个模式REPEAT-COUNT个额外的次数.
 REPEAT-COUNT可以是正整数或星号,意味着必要时重复多次,直到输入完成为止。

输出文件的名称由前缀(默认为“xx”)后跟一个后缀组成。默认情况下,后缀是从“00”到“99”的两位十进制数的递增序列。在任何情况下,按文件名排序顺序连接输出文件会生成原始输入文件。

默认情况下,如果`csplit’遇到错误或收到挂断,中断,退出或终止信号,它会删除它在退出之前创建的所有输出文件

csplit 命令实例:

linux命令:csplit -k my_file 500 {*} {*} 500 my_file -k csplit csplit -k my_file 500 {*}rootopen.com
linux命令:csplit -k my_file 500 {*} {*} 500 my_file -k csplit csplit -k my_file 500 {*}rootopen.com
2018-06-08 12:33:48

Linux的Bash命令行(A-Z排序)