今天给大家介绍下 split的一些用法,如果要分割的是一个文本文件,比如有好几千行,当然每行的字符数是不等的,想要以行数为分割,比如每100行生成1个文件,只需要 -l 参数,如下,直接看我的操作,我会附上详细的注释:

 

[root@279155 home]# clear
[root@279155 home]# ll
total 131936
-rw------- 1 root root 134942903 Apr  1 19:52 mail
drwx------ 2 qhz  qhz       4096 Mar 10 20:59 qhz
drwx------ 3 www  www       4096 Feb 29 22:42 www
drwxrwxrwx 2 root root      4096 Mar 27 21:14 wwwlogs
drwxr-xr-x 5 www  www       4096 Mar  8 22:35 wwwroot
[root@279155 home]# wc -l mail     
531668 mail
# 这个文件有50W行文本
[root@279155 home]# split -l 100000 mail
#用split分割文件,每个文件以10W行分割
[root@279155 home]# ll
total 263900
-rw------- 1 root root 134942903 Apr  1 19:52 mail
drwx------ 2 qhz  qhz       4096 Mar 10 20:59 qhz
drwx------ 3 www  www       4096 Feb 29 22:42 www
drwxrwxrwx 2 root root      4096 Mar 27 21:14 wwwlogs
drwxr-xr-x 5 www  www       4096 Mar  8 22:35 wwwroot
-rw-r--r-- 1 root root  25426037 Apr  1 19:55 xaa
-rw-r--r-- 1 root root  25406570 Apr  1 19:55 xab
-rw-r--r-- 1 root root  25358675 Apr  1 19:55 xac
-rw-r--r-- 1 root root  25392473 Apr  1 19:55 xad
-rw-r--r-- 1 root root  25374711 Apr  1 19:55 xae
-rw-r--r-- 1 root root   7984437 Apr  1 19:55 xaf
##呵呵,看到了吧,多了5个文件,这就是分割出来的
[root@279155 home]# md5sum mail > 1.md5
#给mail源文件制作MD5验证文件
[root@279155 home]# cat xa* > test.txt
#合并给split分割的文件到test.txt
[root@279155 home]# md5sum test.txt > 2.md5
#我们来给合并的文件制作MD5验证文件
[root@279155 home]# cmp 1.md5 2.md5
1.md5 2.md5 differ: byte 35, line 1

#对比2个文件的验证,报错了,居然不一样,不知道那里出问题了。。。
[root@279155 home]# cat 1.md5
b2cf2cc1376d627593646c775973d893  mail
[root@279155 home]# cat 2.md5
b2cf2cc1376d627593646c775973d893  test.txt

#我们可以看到2个MD5文件的内容都是一样的,但是对比验证为啥有问题呢?

[root@279155 home]# ll
total 395828
-rw-r--r-- 1 root root        39 Apr  1 19:55 1.md5
-rw-r--r-- 1 root root        43 Apr  1 19:56 2.md5
-rw------- 1 root root 134942903 Apr  1 19:52 mail
-rw-r--r-- 1 root root 134942903 Apr  1 19:56 test.txt
-rw-r--r-- 1 root root  25426037 Apr  1 19:55 xaa
-rw-r--r-- 1 root root  25406570 Apr  1 19:55 xab
-rw-r--r-- 1 root root  25358675 Apr  1 19:55 xac
-rw-r--r-- 1 root root  25392473 Apr  1 19:55 xad
-rw-r--r-- 1 root root  25374711 Apr  1 19:55 xae
-rw-r--r-- 1 root root   7984437 Apr  1 19:55 xaf
[root@279155 home]#
#2个文件大小也是一样的吧。

 

      呵呵,这里给大家介绍了split分割,然后再介绍了如何合并文件,最后验证下源文件和合并后的文件的一致性,希望对大家的工作和学习有帮助,最后一步验证出问题了,不知道问题出在哪里,希望有高手可以给我指点下。。。