Linux培训教程 linux系统下分割大文件的方法

在linux中分割大文件,比如一个5gb日志文件,需要把它分成多个小文件,分割后以利于普通的文本编辑器读取。

有时,需要传输20gb的大文件,Linux培训

教程件到另一台服务器,也需要把它分割成多个文件,这样便于传输数据。

以下通过五个不同的例子,来讲解Linux下分割大文件的方法,供大家参考。

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

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

命令:

复制代码代码如下:

$splitmylog-l1000

$wc-l*

4450mylog

1000xaa

1000xab

1000xac

1000xad

450xae

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

分割文件为多个20MB的文件,附带-b选项。

命令:

复制代码代码如下:

$split-b20Mlogdata

$ls-lh|tail-n+2

-rw-------1sathiyasathiya102MJul2518:47logdata

-rw-------1sathiyasathiya20MJul2519:20xaa

-rw-------1sathiyasathiya20MJul2519:20xab

-rw-------1sathiyasathiya20MJul2519:20xac

-rw-------1sathiyasathiya20MJul2519:20xad

-rw-------1sathiyasathiya20MJul2519:20xae

-rw-------1sathiyasathiya1.6MJul2519:20xaf

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

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

命令:

复制代码代码如下:

$split--bytes=50Mlogdatamydatafile

$ls-lh

total204M

-rw-------1sathiyasathiya102MJul2518:47logdata

-rw-------1sathiyasathiya50MJul2519:23mydatafileaa

-rw-------1sathiyasathiya50MJul2519:23mydatafileab

-rw-------1sathiyasathiya1.6MJul2519:23mydatafileac

例4、基于行数分割文件

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

命令:

复制代码代码如下:

$wc-ltestfile

2591testfile

$split-l1500testfileimportantlog

$wc-l*

1500importantlogaa

1091importantlogab

2591testfile

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

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

命令:

复制代码代码如下:

$split-dtestfile

$ls

testfilex00x01x02

可用选项

复制代码代码如下:

短选项长选项选项描述

-b–bytes=SIZESIZE值为每一输出档案的大小,单位为byte。

-C–line-bytes=SIZE每一输出档中,单行的最大byte数。

-d–numeric-suffixes使用数字作为后缀。

-l–lines=NUMBERNUMBER值为每一输出档的列数大小。</p><p>短选项长选项选项描述

-b–bytes=SIZESIZE值为每一输出档案的大小,单位为byte。

-C–line-bytes=SIZE每一输出档中,单行的最大byte数。

-d–numeric-suffixes使用数字作为后缀。

-l–lines=NUMBERNUMBER值为每一输出档的列数大小。

相关推荐