Linux中split大文件分割和cat合并文件详解

 更新时间:2017年07月05日 15:56:08   投稿:daisy  
这篇文章主要给大家介绍了关于Linux中split大文件分割和cat合并文件的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

前言

当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输。这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件。

1. 分割文件

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

1.1 文本文件分割

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

按文件大小分割

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

$ split -C 100M large_file.txt stxt

如上所示,我们将大文件large_file.txt按100M大小进行分割,并指定了分割后文件前缀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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Centos8使用Squid配置代理服务器的详细过程

    Centos8使用Squid配置代理服务器的详细过程

    这篇文章主要介绍了Centos8使用Squid配置简单的代理服务器,安装过程中需要创建新账户并将其设置为管理账户,设置网络连接,简单的配置过程跟随小编一起看看吧
    2022-01-01
  • Linux下安装Python3.6及避坑指南

    Linux下安装Python3.6及避坑指南

    这篇文章主要介绍了Linux下Python3.6的安装及避坑指南,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Centos7.4 zabbix3.4.7源码安装的方法步骤

    Centos7.4 zabbix3.4.7源码安装的方法步骤

    这篇文章主要介绍了Centos7.4 zabbix3.4.7源码安装的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • CentOS7上以rpm方式安装JDK8

    CentOS7上以rpm方式安装JDK8

    这篇文章主要介绍了CentOS7上以rpm方式安装JDK8,需要的朋友可以参考下
    2020-02-02
  • Linux下查看binlog文件创建时间的命令

    Linux下查看binlog文件创建时间的命令

    这篇文章主要介绍了Linux下查看binlog文件创建时间的命令,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • CentOS 7下用firewall-cmd控制端口与端口转发详解

    CentOS 7下用firewall-cmd控制端口与端口转发详解

    这篇文章主要给大家介绍了在CentOS 7下用firewall-cmd控制端口与端口转发的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下来来一起看看吧。
    2017-05-05
  • Windows7下Linux双操作系统安装图文教程

    Windows7下Linux双操作系统安装图文教程

    这篇文章主要为大家详细介绍了Windows7下Linux双操作系统安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 如何使用Apache Kafka 构建实时数据处理应用

    如何使用Apache Kafka 构建实时数据处理应用

     Apache Kafka 在实时数据处理中的重要性源于其高性能、可靠性、可扩展性和灵活性,这篇文章主要介绍了使用Apache Kafka 构建实时数据处理应用,需要的朋友可以参考下
    2024-07-07
  • Linux防火墙firewall设置端口访问限制方式

    Linux防火墙firewall设置端口访问限制方式

    在Linux系统中,firewall工具可以帮助用户配置防火墙规则,实现对端口的精确限制,通过简单的命令,用户可以开放或移除单个端口、批量处理端口规则、查看所有开放端口、允许或禁止特定IP或网段访问某端口等操作
    2024-10-10
  • CentOS7环境搭建python3以及与python2实现共存的方法

    CentOS7环境搭建python3以及与python2实现共存的方法

    这篇文章主要介绍了CentOS7环境搭建python3以及与python2实现共存的方法,结合实例形式简单分析了CentOS7环境下安装Python3的步骤、命令及测试代码示例,非常简单易懂,需要的朋友可以参考下
    2018-06-06

最新评论