欢迎光临
我们一直在努力

Linux基础命令---csplit



csplit


将文件按照指定的模式分割,默认的输出文件名是xx00、xx01、xx02等,指令会显示每个输出文件的大小。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。



1




、语法



csplit  [




选项]  file  格式



 



2




、选项格式列表


选项


说明


–hep


显示帮助文档


–version


显示版本信息


-b | –suffix-format=FORMAT


使用sprintf格式而不是%02d


-f name    |  –prefix=PREFIX


指定输出文件的前缀名字,而不是使用“xx”


-k | –keep-files


不要删除错误的输出文件


-n num


指定输出文件名的字符数,这里指文件名中的序号长度


-z | –elide-empty-files


删除空文件


-s | –quiet | –silent


不显示输出文件的大小


 


格式


说明


整数


不包括指定的行,并以其为文件分块边界


/


表达式/[偏移量]


不包括匹配到的行,并以其为文件分块边界


%


表达式%[偏移量]


预先跳过匹配的行数,以其为文件分块边界


{


整数}


将之前指定的模式重复指定的次数


{*}


将之前指定的模式重复尽可能多的次数



 



3




、实例


1


)将文件从第2行分割



[root@localhost   weijie]#

cat 1.c             //






查看文件




hello world,



i am david.



i love linux,



love code.



[root@localhost   weijie]#

csplit 1.c 2       //






从第






2






行开始分割,输出分割后的文件大小




14



39



[root@localhost   weijie]#

ls




11.c  1.c    1.c~  2.c  3.c    4.c  4.c~  5.c    6.c  test  Tsplitaa    Tsplitab  Tsplitac  Tsplitad    xaa  xab  xac    xx00  xx01



[root@localhost   weijie]#

cat xx00            //






查看输出文件




hello world,



[root@localhost   weijie]#

cat xx01




i am david.



i love linux,



love code.


2


)设置生成文件的名字



[root@localhost   weijie]#

csplit -n 3 -f te 1.c 3                    //






指定输出文案前缀






te






,名字长度






3






个。这里指文件名中的序号是






3






个长度




27



26



[root@localhost   weijie]#

ls




11.c  1.c    1.c~  2.c  3.c    4.c  4.c~  5.c    6.c  te000  te001    test



[root@localhost   weijie]#

cat te000             //






查看文件




hello world,



i am david.



[root@localhost   weijie]#

cat te001




i love linux,



love code.


 




做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用

链接:

https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ

  密码:n7bk


 

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。