linux怎么读|Linux下split 命令使用详解

更新时间:2019-10-14    来源:linux    手机版     字体:

【www.bbyears.com--linux】


按大小切割,每100M切割

split -b 100m filename

按行数切割,每100w行切割,并带上前缀

split -l10000000 pc.txt i_

合并:cat x* > pc.txt

split :切割文件

语  法:split [--help][--version][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]

补充说明:split可将文件切成较小的文件,预设每1000行会切成一个小文件

参  数:

-l<行数>   指定每多少行就要切成一个小文件

-b<字节>   指定每多少字就要切成一个小文件。支持单位:m,k

-C<字节>   与-b参数类似,但切割时尽量维持每行的完整性

?help   显示帮助

?version   显示版本信息

[输出文件名]  设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号


实例1、以每个文件1000行分割

split命令分割文件成每个文件1000行,并且文件名依次为 [前缀]aa, [前缀]ab, [前缀]ac等,默认的前缀是X,每个文件的行数为1000行,命令如下:

$ split mylog
$ wc -l *
     4450 mylog
     1000 xaa
     1000 xab
     1000 xac
     1000 xad
      450 xae


实例2、以每个文件20MB分割

分割文件为多个20MB的文件,附带-b选项命令如下:

$ split -b 20M logdata

$ ls -lh | tail -n +2

-rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xaa

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xab

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xac

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xad

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xae

-rw------- 1 sathiya sathiya 1.6M Jul 25 19:20 xaf

实例3、以每个文件50MB指定前缀分割

使用--bytes选项把文件分割成多个50MB的文件,--bytes类似-b选项,在第二个参数指定前缀。

$ split --bytes=50M logdata mydatafile

$ ls -lh

total 204M

-rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata

-rw------- 1 sathiya sathiya  50M Jul 25 19:23 mydatafileaa

-rw------- 1 sathiya sathiya  50M Jul 25 19:23 mydatafileab

-rw------- 1 sathiya sathiya 1.6M Jul 25 19:23 mydatafileac

实例4、基于行数分割文件

使用-l选项指定行数来把文件分割成多个行数相同的文件。

$ wc -l testfile

2591 testfile

$ split -l 1500 testfile importantlog

$ wc -l *

  1500 importantlogaa

  1091 importantlogab

  2591 testfile

实例5、以数字后缀命名分割文件

使用-d选项可以指定后缀为数字,如00,01,02..,而不是aa,ab,ac。

$ split -d testfile

$ ls

testfile  x00  x01  x02

可用选项

短选项 长选项 选项描述
-b --bytes=SIZE SIZE 值为每一输出档案的大小,单位为 byte。
-C --line-bytes=SIZE 每一输出档中,单行的最大 byte 数。
-d --numeric-suffixes 使用数字作为后缀。
-l --lines=NUMBER NUMBER 值为每一输出档的列数大小。

合并cat使用方法

cat命令

语法:cat [-AbeEnstTuv] [--help] [--version] fileName

-n 或 ?number 由 1 开始对所有输出的行数编号

-b 或 ?number-nonblank 和 -n 相似,只不过对于空白行不编号

-s 或 ?squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

-v 或 ?show-nonprinting

#cat常用功能

#一次显示整个文件

cat   filename

#创建一个文件,只能创建新文件,不能编辑已有文件
cat  >  filename
#将几个文件合并为一个文件。
cat   file1   file2  > file


所以上面的示例中将分割文件合并,可以使用:

#合并

cat a.tar.gz.* > a.tar.gz

#合并并解压

cat a.tar.gz.*  | tar -zxv

本文来源:http://www.bbyears.com/caozuoxitong/73182.html