Linux下split 命令使用详解
从函数层面上来看是对文件进行切割了,我们可以使用split命令进行文件的很多操作,下现来看几个Linux下split 命令使用例子.
按大小切割,每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行,命令如下:
- $splitmylog
- $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
- //phpfensi.com
- -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=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常用功能
- #一次显示整个文件
- catfilename
- #创建一个文件,只能创建新文件,不能编辑已有文件
- cat>filename
- #将几个文件合并为一个文件。
- catfile1file2>file
所以上面的示例中将分割文件合并,可以使用:
- #合并
- cata.tar.gz.*>a.tar.gz
- #合并并解压
- cata.tar.gz.*|tar-zxv
热门评论