Linux命令之大文件切分与合并

一:切分

当面临将一个大文件进行切分时,linux的split命令是很好的选择。它包含多种参数,支持按行、大小进行切分。

split命令的语法如下:

split [--help][--version][-a ][-b][-C ][-l ][要切割的文件][输出文件名前缀]  

对应的参数描述如下:

-a, --suffix-length=N  

    使用的后缀长度 (默认为 2)  

-b, --bytes=SIZE  

    每个输出文件的字节大小  

-C, --line-bytes=SIZE  

    每个输出文件每行的最大字节大小  

-d, --numeric-suffixes  

    使用数字后缀代替字母后缀  

-l, --lines=NUMBER  

    设定每个输出文件的行数  

--help 显示帮助信息  

--version  

    显示版本信息  


下面举几个例子:

1)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。命令:

[plain] 

$ split -b 10m splitTest.txt  

$ ls  

splitTest.txt  xaa  xab  xac  

2)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。指定分割后的文件前缀位split,命令:

$ split -b 20m splitTest.txt  split  

$ ls  

splitaa  splitab  splitac  splitTest.txt  


3)将文件splitTest.txt分割成多个文件,每个文件50万行。命令:

[plain] 

$ wc -l splitTest.txt   

1502216 splitTest.txt  

$ split -l 500000 splitTest.txt  split  

$ ls  

splitaa  splitab  splitac  splitad  splitTest.txt  


4)将文件splitTest.txt分割成多个文件,每个文件50万行。指定分割后的文件后缀为数字,数字位数为3位,命令:

[plain] 

$ wc -l splitTest.txt   

1502216 splitTest.txt  

$ split -l 500000 -d -a 3 splitTest.txt  split  

$ ls  

split000  split001  split002  split003  splitTest.txt  


二:合并

可以使用cat命令将切分后的文件合并成新的文件:

[plain] 

$ cat split0* > original.txt  

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,203评论 2 33
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,473评论 9 467
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,118评论 0 0
  • Linux指令大全 1.cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help...
    muyang_js的简书阅读 2,844评论 0 12
  • 1.Linux下如何用命令查看实时日志(完整命令) tail -f 路径.log查看前多少行 tai-200f 路...
    qianyewhy阅读 2,316评论 0 11