Welcome 微信登录

首页 / 操作系统 / Linux / 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 cwjy120215K 十二 28 23:20 nginx
-rw-rw-r-- 1 cwjy1202 cwjy120216K 十二 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 cwjy1202921 一月 12 00:13 colaa
-rw-rw-r-- 1 cwjy1202 cwjy1202 1021 一月 12 00:13 colab
-rw-rw-r-- 1 cwjy1202 cwjy1202807 一月 12 00:13 colac
-rw-rw-r-- 1 cwjy1202 cwjy1202305 一月 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 cwjy120215K 十二 28 23:20 nginx
-rw-rw-r-- 1 cwjy1202 cwjy120216K 十二 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-x3 cwjy1202 cwjy12024096 一月 12 00:19 .
drwxrwxr-x 21 cwjy1202 cwjy12024096 十二 27 21:23 ..
-rw-rw-r--1 cwjy1202 cwjy120254 一月8 00:11 a
-rw-rw-r--1 cwjy1202 cwjy120239 一月 11 12:58 b
-rw-rw-r--1 cwjy1202 cwjy120254 一月8 22:09 c
-rw-rw-r--1 cwjy1202 cwjy12023054 一月 11 18:50 col
-rw-rw-r--1 cwjy1202 cwjy1202 921 一月 12 00:13 colaa
-rw-rw-r--1 cwjy1202 cwjy12021021 一月 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 cwjy12023054 一月 11 18:45 col.list
-rw-rw-r--1 cwjy1202 cwjy120275 十二 27 22:09 mudi
drwxr-xr-x2 cwjy1202 cwjy12024096 十二 29 23:47 myDir
-rwxr-xr-x1 cwjy1202 cwjy1202 14698 十二 28 23:20 nginx
-rw-rw-r--1 cwjy1202 cwjy1202 16298 十二 27 20:16 nginxlog
-rw-------1 cwjy1202 cwjy12021004 八月 29 17:24 R语言做流程图.R
-rw-rw-r--1 cwjy1202 cwjy120233 一月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-x3 cwjy1202 cwjy12024096 一月 12 00:21 .
drwxrwxr-x 21 cwjy1202 cwjy12024096 十二 27 21:23 ..
-rw-rw-r--1 cwjy1202 cwjy120254 一月8 00:11 a
-rw-rw-r--1 cwjy1202 cwjy120239 一月 11 12:58 b
-rw-rw-r--1 cwjy1202 cwjy120254 一月8 22:09 c
-rw-rw-r--1 cwjy1202 cwjy12023054 一月 11 18:50 col
-rw-rw-r--1 cwjy1202 cwjy1202 921 一月 12 00:13 colaa
-rw-rw-r--1 cwjy1202 cwjy12021021 一月 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 cwjy12023054 一月 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 cwjy120275 十二 27 22:09 mudi
drwxr-xr-x2 cwjy1202 cwjy12024096 十二 29 23:47 myDir
-rwxr-xr-x1 cwjy1202 cwjy1202 14698 十二 28 23:20 nginx
-rw-rw-r--1 cwjy1202 cwjy1202 16298 十二 27 20:16 nginxlog
-rw-------1 cwjy1202 cwjy12021004 八月 29 17:24 R语言做流程图.R
-rw-rw-r--1 cwjy1202 cwjy120233 一月3 16:13 test.bc


复制代码代码如下:
$ wc -l lsal*
5 lsalaa
5 lsalab
5 lsalac
3 lsalad
18 总用量</p><p>