linux系统下分割大文件的方法

在linux中分割大文件,比如一个5gb日志文件,需要把它分成多个小文件,分割后以利于普通的文本编辑器读取。
有时,需要传输20gb的大文件到另一台服务器,也需要把它分割成多个文件,这样便于传输数据。

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

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

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

复制代码

代码如下:

$ split mylog -l 1000
$ 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 值为每一输出档的列数大小。</p><p>短选项 长选项 选项描述
-b –bytes=SIZE SIZE 值为每一输出档案的大小,单位为 byte。
-C –line-bytes=SIZE 每一输出档中,单行的最大 byte 数。
-d –numeric-suffixes 使用数字作为后缀。
-l –lines=NUMBER NUMBER 值为每一输出档的列数大小。

(0)

相关推荐

  • Linux系统找出大文件的方法

    du -s /home/* | sort -nr 也可以用find,查找大于200M的文件并显示详细信息 find . -size +100000000c -exec ls -lh {} ;

  • Linux系统下如何制作Live USB?Linux系统下制作Live USB的方法

    不管是使用Win系统,还是安装了Linux系统,只要不会对原本的系统造成损害,用户可以使用Live USB尝试Linux的各种发行版本,那么,Linux系统下该如何制作Live USB呢?下面小编就给 ...

  • Mac OS X 系统下修改 hosts 文件的方法

    osts 文件,相当于一个网址-ip 列表,大概相当于本机 DNS.修改苹果电脑上的 hosts 文件,就可以访问部分被和谐的网站,或者拦截某些站点(比如软件商的正版验证),或者强制从某个 ip 下载 ...

  • Win8系统igs文件如何打开?Win8系统下打开igs文件的方法

    Win8系统igs文件如何打开?Win8系统下发现了一些igs格式的文件,那么igs是什么格式?igs文件怎么打开呢?igs是3D设计软件产生的文件.想要打开igs文件,就要安装3D软件,下面小编就给 ...

  • Linux系统下卸载USB设备的方法

    Linux系统下通常都会自动挂载USB设备,如果没有自动挂载的话就需要自己手动挂载USB设备了,那么Linux下要如何挂载USB设备呢?不需要的时候又要如何卸载呢?一起来了解下吧。 在挂载之前需要确定 ...

  • Linux系统下无法访问mysql解决方法

    mysql是一个关系型数据库管理系统,但最近有用户反映,在Linux系统下无法访问mysql,相信不少用户都有遇到过这个问题,这是怎么回事呢?Linux系统下无法访问mysql该怎么办呢?下面我们一起 ...

  • centos下如何删除大文件?centos下删除大文件的方法

    今天发现测试的服务器磁盘空间使用100%.通过df  -lh 和du –sh,定位到是jenkins日志文件363G.网上查找了几个关于删除大文件的方法: 一.最low的:rm rm 删除大文件后,d ...

  • 查找Linux系统中的大文件和大目录方法

    查找大文件 eg:查找当前目录下大于10MB的文件 代码如下: $ find . -type f -size +10000k -exec ls -lh {} ; | awk '{ print $8 & ...

  • 在Linux系统下查找可移植可执行文件的方法

    可执行文件是指可移植可执行的文件,用于程序的执行,那么Linux下要如何查找可执行文件呢?下面小编就给大家介绍下Linux中查找可执行文件的方法,一起来了解下吧。 linux下查找可执行文件 ls - ...