站长资源操作系统
Linux命令之文件切割命令:split使用介绍
位置:/usr/bin/split
权限:所有用户
作用:
用法: split [OPTION]... [INPUT [PREFIX]]
选项:
-b 后面可以接可以切割成文件的大小,可以加单位,例如:b,k, m
-l 以行数来进行分割
PREFIX:前导符,可作为切割文件的前导文字
这里col1就是前导符,生成了3个文件col1aa、col1ab、col1ac
复制代码代码如下:
$ split -b 1k col col1</p>
<p>$ 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 mudi
drwxr-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</p>
<p>$ 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 mudi
drwxr-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</p>
<p>
特殊例子:如何把下面的信息以5行分隔成多个文件
复制代码代码如下:
$ ls -al
总用量 92
drwxrwxr-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 mudi
drwxr-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
总用量 108
drwxrwxr-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 mudi
drwxr-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 总用量</p>
<p>