zoukankan      html  css  js  c++  java
  • Linux系统下使用split命令分割大文件 (转载)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://snailwarrior.blog.51cto.com/680306/140531
     
    【小蜗牛闲情之作
     
    我想给一个朋友传一个大视频,有几百M,尝试多种传输办法失败后,最后想到的是把视频切开一片片“邮递”过去给他,让它自己组装起来吧。
     
    [root@pps public_rw]# ls -lh RevolutionOS.rmvb
    -rwx------ 1 hoho hoho 276M 2005-09-09 RevolutionOS.rmvb
     
    将将这个276M文件分割成20M的小文件,文件分割操作如下:
     
    用法:split [选项] [输入 [前缀]]
     
    [root@pps public_rw]# split -b 20m RevolutionOS.rmvb RevOS_part_
    [root@pps public_rw]# ls -lh
    总计 552M
    -rwx------ 1 hoho hoho 276M 2005-09-09 RevolutionOS.rmvb
    -rw-r--r-- 1 root root  20M 03-19 17:59 RevOS_part_aa
    -rw-r--r-- 1 root root  20M 03-19 17:59 RevOS_part_ab
    ...
    -rw-r--r-- 1 root root  20M 03-19 18:00 RevOS_part_am
    -rw-r--r-- 1 root root  16M 03-19 18:00 RevOS_part_an
     
    “-b 20m”指定分割文件的大小为20M,文件后面的“RevOS_part_”是分割文件的前缀,最后的是16M的“剩余”文件。
     
    组装文件:

    [root@pps public_rw] cat RevOS_part_* > RevolutionOS_RSB.rmvb
     
    这里不怕组装顺序错误,因为分割的时候是按字母顺序排下来的,cat也是按照字母顺序处理的,如果不放心,将组装后的文件哈希对比一下:
     
    [root@pps public_rw]# md5sum RevolutionOS.rmvb
    ac7cce07f621b1ed6f692e6df0ac8c16  RevolutionOS.rmvb
     
    [root@pps public_rw]# md5sum RevolutionOS_RSB.rmvb
    ac7cce07f621b1ed6f692e6df0ac8c16  RevolutionOS_RSB.rmvb
     
    放心了吧:)
     
    如果要分割的是一个文本文件,比如有好几千行,当然每行的字符数是不等的,想要以行数为分割,比如每100行生成1个文件,只需要 -l 参数,如下:
     
    [root@pps public_rw]# split -l 100 test.txt
     
    其实,如果不加任何参数,默认情况下是以1000行大小来分割的。
  • 相关阅读:
    Linux中增加组和用户
    Storm重启topology,失败
    ES读写数据的工作原理
    Hive优化
    Flink提交流程和架构
    Flink中的Time与Window
    linux 中文件夹的文件按照时间倒序或者升序排列
    ElasticSearch之配置文件详解
    redis中的设置bind绑定ip不是设置白名单
    YARN调度架构中的AppMaster
  • 原文地址:https://www.cnblogs.com/lance-ehf/p/5740140.html
Copyright © 2011-2022 走看看