zoukankan      html  css  js  c++  java
  • Linux split 大文件分割与 cat合并文件

    当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输。

    这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件。

     

    1. 分割文件

    文件分割可以使用split命令,该即支持文本文件分割,又支持二进制文件分割;而合并文件可以使用cat命令。

     

    1.1 文本文件分割

    分割文本文件时,可以按文件大小分割,也可以按文本行数分割。

    按文件大小分割

    按文件大小分割文件时,需要以-C参数指定分割后的文件大小:

    $ split -C 100M large_file.txt stxt
    

    如上所示,我们将大文件large_file.txt100M大小进行分割,并指定了分割后文件前缀stxt;当不指定前缀时,split会自动对分割文件进行命名,一般会以x开头。

    按行分割

    文本文件还可以以行为单位进行分割,以行数进行分割时会忽略文件大小,并以-l参数指定分割后文件的行数:

    $ split -l 1000 large_file.txt stxt
    

     

    1.2 二进制文件分割

    二进制文件分割类似于按大小分割文本文件,不同的是以-b参数来指定分割后的文件大小:

    $ split -b 100M data.bak sdata
    

     

    2. 文件合并

    文件合并使用cat命令,上面几种方式分割的文件都可以使用cat命令合并。

    cat命令合并分割文件:

    $ cat stxt* > new_file.txt
    

     

    3. 命令格式

     

    3.1 split命令说明

    split命令格式如下:

    split [选项]... [要切割的文件 [输出文件前缀]]
    

    命令参数

    -a, --suffix-length=N   使用长度为 N 的后缀 (默认 2)
    -b, --bytes=SIZE        设置输出文件的大小。支持单位:m,k
    -C, --line-bytes=SIZE   设置输出文件的最大行数。与 -b 类似,但会尽量维持每行的完整性
    -d, --numeric-suffixes  使用数字后缀代替字母
    -l, --lines=NUMBER      设备输出文件的行数
        --help     显示版本信息
        --version  输出版本信息
    

     

    3.2 cat命令说明

    cat是Linux下使用频率较高的命令之一,该令详细介绍:

    cat连接文件并打印到标准输出设备上

    cat命令的常见使用场景有:

    显示文件内容:

    $ cat filename
    

    创建一个空文件:

    $ cat > filename
    

    文件合并:

    $ cat file1 file2 > file
    

     

    原文:https://itbilu.com/linux/man/Nkz2hoeNm.html

  • 相关阅读:
    淘宝从几百到千万级并发的十四次架构演进之路!
    19 个强大、有趣、好玩、又装B的 Linux 命令!
    Spring Boot实战:拦截器与过滤器
    初识zookeeper,linux 安装配置zookeeper
    Spring-boot:5分钟整合Dubbo构建分布式服务
    Spring-Boot:6分钟掌握SpringBoot开发
    Dubbo的使用及原理浅析.
    Java消息队列--ActiveMq 初体验
    关于Ubuntu 常用的简单指令
    IBM、HPUX、Solaris不同之处
  • 原文地址:https://www.cnblogs.com/sucretan2010/p/12830328.html
Copyright © 2011-2022 走看看