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

$ 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

$ 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

特殊例子:如何把下面的信息以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 总用量




相关内容