Linux命令之文件切割命令:split使用介绍

时间:2021-05-24

位置:/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>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章