linux分割文件split命令

分割文件split

  档处理文件时,有时需要将文件做分隔处理,split命令用于分割文件,可以分割文本文件,按指定的行数分隔,每个分隔的文件都包含相同的行数。split可以分隔非文本文件,分割时可以指定每个文件的大小,分隔后的文件有相同的大小。split后的文件可以使用cat命令组装在一起。

      [root@CentOS cmd]# cat src.txt

      [root@CentOS cmd]# split src.txt

      [root@CentOS cmd]# ls

      #split默认按1000行分隔文件

      [root@CentOS cmd]# ls

      [root@CentOS cmd]# wc -l *

      [root@CentOS cmd]# ls -lhtr

      #按每个文件3行分隔文件

      [root@CentOS cmd]# split -l 3 src.txt

      [root@CentOS cmd]# ls

      [root@CentOS cmd]# cat xa*

      #中间结果省略

      [root@CentOS cmd]# cat xaa

      #如文件行数太多,使用默认的2个字符已经不能满足需求

      [root@CentOS cmd]# split -l 3 src.txt

      [root@CentOS cmd]# rm -f xa*

      [root@CentOS cmd]# ls

      #指定分隔前缀的长度

      [root@CentOS cmd]# split -a 5 -l 3 src.txt

      [root@CentOS cmd]# ls

      [root@CentOS cmd]# rm -f xaaaa*

      #使用数字前缀

      [root@CentOS cmd]# split -a 5 -l 3 -d src.txt

      #指定每个文件的大小,默认为字节,可以使用1m类似的参数默认为B,另外有单位b,k,m等

      SIZE可加入单位:b代表512,k代表1k,m代表1Meg

      [root@CentOS cmd]# split -a 5 -b 3 src.txt

      [root@CentOS cmd]# ls -l xaaaaa

      [root@CentOS cmd]# src.txt xaa xaaaaa xaaaab xaaaac xaaaae xaaaaf xaaaag

      [root@CentOS cmd]# cat xa* >dst.txt

      [root@CentOS cmd]# md5sum src.txt dst.txt

      #指定分隔前缀

      [root@CentOS cmd]# split -a 5 -b 3000 src.txt src_

      [root@CentOS cmd]# ls

当把一个大的文件分拆为多个小文件后,如何校验文件的完整性呢,一般通过MD5工具来校验对比。对应的Linux命令为md5sum。

提示:有关md5的校验机制和原理请参考相关文档,本节不再描述。