原创

Linux 系统 split 分割命令使用详解

        Linux 系统 split 命令用于将一个文件分割成n个文件,命令适用于将大文件分割成小文件,在默认情况下将安装1000行分割成独立的文件,基本语法 split [OPTION] [INPUT [PREFIX]]。


功能描述具体如下:

将输入文件'INPUT'分割,输出固定大小的文件片段"PREFIXaa,PREFIXab,...",这里,默认的大小为1000行,并且PREFIX的默认值为'x',如果没有指定输入文件(INPUT文件),或者输入为-,那么会从标准输入读取,选项如下:

-a, --suffix-length=N

使用的后缀的长度,默认长度为2,例如'aa','ab'等后缀,其长度就是2。

-b, --bytes=SIZE

指定每个输出文件片段的大小。

-C, --line-bytes=SIZE

指定每个输出文件片段的最大行字节(???)。

-d, --numeric-suffixes

指定输出文件片段后缀为数字而不是默认的字母形式。

-l, --lines=NUMBER

指定每个输出文件片段的行数。

以上,指定的大小"SIZE"可以用如下的方式指定单位:后缀为b表示512字节,后缀为k表示1K,后缀为m表示1M。


命令语法:

split [–help][–version]
split [-<行数>][-l <行数>] [要切割的文件][输出文件名] ,以行数为单位
split [-b <字节>][-C <字节>] [要切割的文件][输出文件名],以字节为单位
输出文件名是指切割后的文件会以此为前缀


查看 catalina.out 日志文件大小,具体命令如下:

[root@iZ256w2hluuZ logs]# ls  -lh catalina.out
-rw-r--r-- 1 root root 99M Oct 22 18:43 catalina.out


将这个99M文件分割成20M的小文件,文件分割操作如下:

[root@iZ256w2hluuZ logs]# split -b 20m catalina.out yoodb_catalina_
[root@iZ256w2hluuZ logs]# ll -lh yoodb_catalina_*
-rw-r--r-- 1 root root 20M Oct 22 18:46 yoodb_catalina_aa
-rw-r--r-- 1 root root 20M Oct 22 18:46 yoodb_catalina_ab
-rw-r--r-- 1 root root 20M Oct 22 18:46 yoodb_catalina_ac
-rw-r--r-- 1 root root 20M Oct 22 18:46 yoodb_catalina_ad
-rw-r--r-- 1 root root 19M Oct 22 18:46 yoodb_catalina_ae

注意:

-B  20M  是指将每个分卷文件最大20M 。

catalina.out   需要分割的文件。

yoodb_catalina_  是指分割后的文件开头,分割后后的文件名一般为yoodb_catalina__aa、yoodb_catalina__ab、yoodb_catalina_ac依次类推。


将分割后的文件,合并为一个大文件,具体命令如下:

[root@iZ256w2hluuZ logs]# cat  yoodb_catalina_*>yoodb.tar.gz
[root@iZ256w2hluuZ logs]# ll -lh yoodb.tar.gz 
-rw-r--r-- 1 root root 99M Oct 22 18:48 yoodb.tar.gz

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信