位置:/usr/bin/split
权限:所有用户
作用:
用法: split [OPTION]... [INPUT [PREFIX]]
选项:
-b 后面可以接可以切割成文件的大小,可以加单位,例如:b,k, m
-l 以行数来进行分割
PREFIX:前导符,可作为切割文件的前导文字
这里col1就是前导符,生成了3个文件col1aa、col1ab、col1ac
$ split -b 1k col col1$ ls -hl总用量 80K-rw-rw-r-- 1 cwjy1202 cwjy1202 54 一月 8 00:11 a-rw-rw-r-- 1 cwjy1202 cwjy1202 39 一月 11 12:58 b-rw-rw-r-- 1 cwjy1202 cwjy1202 54 一月 8 22:09 c-rw-rw-r-- 1 cwjy1202 cwjy1202 3.0K 一月 11 18:50 col-rw-rw-r-- 1 cwjy1202 cwjy1202 1.0K 一月 12 00:09 col1aa-rw-rw-r-- 1 cwjy1202 cwjy1202 1.0K 一月 12 00:09 col1ab-rw-rw-r-- 1 cwjy1202 cwjy1202 1006 一月 12 00:09 col1ac-rw-rw-r-- 1 cwjy1202 cwjy1202 3.0K 一月 11 18:45 col.list-rw-rw-r-- 1 cwjy1202 cwjy1202 75 十二 27 22:09 mudidrwxr-xr-x 2 cwjy1202 cwjy1202 4.0K 十二 29 23:47 myDir-rwxr-xr-x 1 cwjy1202 cwjy1202 15K 十二 28 23:20 nginx-rw-rw-r-- 1 cwjy1202 cwjy1202 16K 十二 27 20:16 nginxlog-rw------- 1 cwjy1202 cwjy1202 1004 八月 29 17:24 R语言做流程图.R-rw-rw-r-- 1 cwjy1202 cwjy1202 33 一月 3 16:13 test.bc把文件col以行数作为分隔,生成文件的前导符为col,分成了三个文件colaa、colab、colac和colad
$ split -l 20 col col$ ls -hl总用量 84K-rw-rw-r-- 1 cwjy1202 cwjy1202 54 一月 8 00:11 a-rw-rw-r-- 1 cwjy1202 cwjy1202 39 一月 11 12:58 b-rw-rw-r-- 1 cwjy1202 cwjy1202 54 一月 8 22:09 c-rw-rw-r-- 1 cwjy1202 cwjy1202 3.0K 一月 11 18:50 col-rw-rw-r-- 1 cwjy1202 cwjy1202 921 一月 12 00:13 colaa-rw-rw-r-- 1 cwjy1202 cwjy1202 1021 一月 12 00:13 colab-rw-rw-r-- 1 cwjy1202 cwjy1202 807 一月 12 00:13 colac-rw-rw-r-- 1 cwjy1202 cwjy1202 305 一月 12 00:13 colad-rw-rw-r-- 1 cwjy1202 cwjy1202 3.0K 一月 11 18:45 col.list-rw-rw-r-- 1 cwjy1202 cwjy1202 75 十二 27 22:09 mudidrwxr-xr-x 2 cwjy1202 cwjy1202 4.0K 十二 29 23:47 myDir-rwxr-xr-x 1 cwjy1202 cwjy1202 15K 十二 28 23:20 nginx-rw-rw-r-- 1 cwjy1202 cwjy1202 16K 十二 27 20:16 nginxlog-rw------- 1 cwjy1202 cwjy1202 1004 八月 29 17:24 R语言做流程图.R-rw-rw-r-- 1 cwjy1202 cwjy1202 33 一月 3 16:13 test.bc
特殊例子:如何把下面的信息以5行分隔成多个文件
$ ls -al 总用量 92drwxrwxr-x 3 cwjy1202 cwjy1202 4096 一月 12 00:19 .drwxrwxr-x 21 cwjy1202 cwjy1202 4096 十二 27 21:23 ..-rw-rw-r-- 1 cwjy1202 cwjy1202 54 一月 8 00:11 a-rw-rw-r-- 1 cwjy1202 cwjy1202 39 一月 11 12:58 b-rw-rw-r-- 1 cwjy1202 cwjy1202 54 一月 8 22:09 c-rw-rw-r-- 1 cwjy1202 cwjy1202 3054 一月 11 18:50 col-rw-rw-r-- 1 cwjy1202 cwjy1202 921 一月 12 00:13 colaa-rw-rw-r-- 1 cwjy1202 cwjy1202 1021 一月 12 00:13 colab-rw-rw-r-- 1 cwjy1202 cwjy1202 807 一月 12 00:13 colac-rw-rw-r-- 1 cwjy1202 cwjy1202 305 一月 12 00:13 colad-rw-rw-r-- 1 cwjy1202 cwjy1202 3054 一月 11 18:45 col.list-rw-rw-r-- 1 cwjy1202 cwjy1202 75 十二 27 22:09 mudidrwxr-xr-x 2 cwjy1202 cwjy1202 4096 十二 29 23:47 myDir-rwxr-xr-x 1 cwjy1202 cwjy1202 14698 十二 28 23:20 nginx-rw-rw-r-- 1 cwjy1202 cwjy1202 16298 十二 27 20:16 nginxlog-rw------- 1 cwjy1202 cwjy1202 1004 八月 29 17:24 R语言做流程图.R-rw-rw-r-- 1 cwjy1202 cwjy1202 33 一月 3 16:13 test.bc
如下:split -l 5 后面的-,那个-表示需要stdout或者stdin
另外,lsal表示生成文件的名字前导符,生成的名字叫:lsalaa、lsalab、lsalac、lsalad
$ ls -la| split -l 5 - lsal$ ls -al总用量 108drwxrwxr-x 3 cwjy1202 cwjy1202 4096 一月 12 00:21 .drwxrwxr-x 21 cwjy1202 cwjy1202 4096 十二 27 21:23 ..-rw-rw-r-- 1 cwjy1202 cwjy1202 54 一月 8 00:11 a-rw-rw-r-- 1 cwjy1202 cwjy1202 39 一月 11 12:58 b-rw-rw-r-- 1 cwjy1202 cwjy1202 54 一月 8 22:09 c-rw-rw-r-- 1 cwjy1202 cwjy1202 3054 一月 11 18:50 col-rw-rw-r-- 1 cwjy1202 cwjy1202 921 一月 12 00:13 colaa-rw-rw-r-- 1 cwjy1202 cwjy1202 1021 一月 12 00:13 colab-rw-rw-r-- 1 cwjy1202 cwjy1202 807 一月 12 00:13 colac-rw-rw-r-- 1 cwjy1202 cwjy1202 305 一月 12 00:13 colad-rw-rw-r-- 1 cwjy1202 cwjy1202 3054 一月 11 18:45 col.list-rw-rw-r-- 1 cwjy1202 cwjy1202 238 一月 12 00:21 lsalaa-rw-rw-r-- 1 cwjy1202 cwjy1202 294 一月 12 00:21 lsalab-rw-rw-r-- 1 cwjy1202 cwjy1202 302 一月 12 00:21 lsalac-rw-rw-r-- 1 cwjy1202 cwjy1202 201 一月 12 00:21 lsalad-rw-rw-r-- 1 cwjy1202 cwjy1202 75 十二 27 22:09 mudidrwxr-xr-x 2 cwjy1202 cwjy1202 4096 十二 29 23:47 myDir-rwxr-xr-x 1 cwjy1202 cwjy1202 14698 十二 28 23:20 nginx-rw-rw-r-- 1 cwjy1202 cwjy1202 16298 十二 27 20:16 nginxlog-rw------- 1 cwjy1202 cwjy1202 1004 八月 29 17:24 R语言做流程图.R-rw-rw-r-- 1 cwjy1202 cwjy1202 33 一月 3 16:13 test.bc
$ wc -l lsal* 5 lsalaa 5 lsalab 5 lsalac 3 lsalad 18 总用量