档处理文件时,有时需要将文件做分割处理,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。
转载请注明:IT运维空间 » linux » linux分割文件split命令
发表评论