split和csplit是文件切割的2种方法

split

    常用选项:

    -b:以块大小进行切割,常用单位有k(kb),M(MB),G(GB)

        例:split -b 10k server.log   对原文件中的内容大小每10k切割成一个文件

    -l:以行进行切割

        例:split -l 8 server.log     对原文件中的内容每8行切割成一个文件

    -d:切割后的文件以数字区分,例如分割后的文件文件名编号为01,02,03

        例:split -l 8 server.log -d  不指明前缀的话,默认切割后的文件为x00,x01,x02

    -a:指明文件切割后生成的文件编号的位数

        例:split -l 8 server.log -d -a 4    切割后生成的文件编号以0000开始

    PREFIX:添加指定前缀,只能添加在命令的最后

        例:split -l 8 server.log -d -a 4 test  切割后生成的文件后缀为test


csplit:可以用指定的内容做为切割条件

    #csplit server.log /SERVER/ -n 2 -s {*} -f server -b "%02d.log"

    常用选项:

        /SERVER/:指定切割的条件,在此以SERVER为关键字进行切割,即只出当前行出现SERVER就进行切割

        -n:指定切割后文件编号的长度;(例-n 2,表示切割后的文件编号00,01)

        -s:使用命令进入静默模式,不打印其它信息

        {*}:指定自上而下的切割次数,*表示重复执行切割,直到文件结束,当*为数字时,表示切割几次

        -f:指定切割后文件的前缀

        -b:指定切割后文件的后缀

            %02d.log:表示切割后的文件为00.log,01.log