前言

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

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 filename

创建一个空文件:

$ cat > filename

文件合并:

$ cat file1 file2 > file

总结

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

linux多进程分割大文件,Linux中split大文件分割和cat合并文件详解相关推荐

  1. linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解

    下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩myda ...

  2. linux命令wget的url路径太长,Linux中WGET下载https链接及WGET命令的详解

    Linux中WGET下载https链接及WGET命令的详解 使用如下的命令下载https链接: ```bash wget -r -np -nd --accept=gz --no-check-certi ...

  3. java 输入流可以合并吗_Java 使用IO流实现大文件的分割与合并实例详解

    java 使用IO流实现大文件的分割与合并 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时 ...

  4. 站长在线Python精讲:在Python中使用split()方法分割、使用join()方法合并字符串详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用split()方法分割.使用join()方法合并字符串详解>.本知识点主要内容有:在Python中使用s ...

  5. python怎么去掉视频字幕_利用Python实现字幕挂载(把字幕文件与视频合并)思路详解...

    其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! 需要用到的环境 python(基本上只要不是 ...

  6. php中单引号,php中的单引号、双引号和转义字符详解

    PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name):最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出. 例如: 结果: 字符串$name 字符 ...

  7. python six模块详解_对python中的six.moves模块的下载函数urlretrieve详解

    实验环境:windows 7,anaconda 3(python 3.5),tensorflow(gpu/cpu) 函数介绍:所用函数为six.moves下的urllib中的函数,调用如下urllib ...

  8. python什么意思k_对python中的*args与**kwgs的含义与作用详解

    对python中的*args与**kwgs的含义与作用详解 在定义函数的时候参数通常会使用 *args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用. *args是非关键字参数, ...

  9. 小程序怎么处理轮训ajax,微信小程序中使用Promise进行异步流程处理的实例详解...

    微信小程序中使用Promise进行异步流程处理的实例详解 我们知道,JavaScript是单进程执行的,同步操作会对程序的执行进行阻塞处理.比如在浏览器页面程序中,如果一段同步的代码需要执行很长时间( ...

  10. [ASP.NET]ASP.NET中的Inherits、CodeFile、CodeBehind的区别详解及OWIN及IDENTITY

    篇一 : ASP.NET中的Inherits.CodeFile.CodeBehind的区别详解 Inherits.CodeFile.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计W ...

最新文章

  1. 完成个人中心—导航标签
  2. python开发学习记录
  3. Azure站点恢复之----VMM 站点到ASR
  4. JDK/Java SE官方文档汇总
  5. 深度学习笔记_基本概念_逆卷积的详细解释ConvTranspose2d(fractionally-strided convolutions)
  6. python调用本地exe_python调用exe程序 python怎么调用exe程序
  7. 往十年不忘初心,新十年不负韶华丨万字长文带你完整回顾2020数据技术嘉年华
  8. java 两张图片合并_java实现把两张图片合并(Graphics2D)
  9. VS2008创建C++项目
  10. 与MySQL的纠缠(卸载与安装)
  11. 2015网页导航设计趋势案例大搜罗
  12. Sencha 项目多语言和多主题的 build 配置
  13. python七段数码管显示字母代码_python实现七段数码管显示
  14. android 外接扫码枪_Android手机(设备)连接扫描枪扫码遇到的问题
  15. 《实施Cisco统一通信管理器(CIPT1)》一2.5 跨越IP WAN的集群部署模型
  16. 美国大学计算机专业排名2014,2013-2014USNews美国大学计算机工程专业研究生排名...
  17. C语言-switch-case语句与多分支结构
  18. 微信消息管理之被动回复用户消息
  19. Springboot中如何优雅的写好Controller层代码
  20. Linux/Ubuntu网络知识

热门文章

  1. VS2015 C#6.0 中的那些新特性(转)
  2. 洞察|2019年混合云发展:前景广阔 巨头混战 SD-WAN成重要推手
  3. 不玩游戏,何谈人生!
  4. centos7 mysql安装_CentOS7安装MySQL(详解)
  5. 【图像去噪】基于matlab GUI HSI彩色图像去噪【含Matlab源码 1786期】
  6. 【短时平均过零率】基于matlab语音信号短时平均过零率【含Matlab源码 1721期】
  7. 【飞行器】基于matlab GUI四旋翼飞行器PID控制仿真【含Matlab源码 1279期】
  8. 【运动学】基于matlab Singer模型算法机动目标跟踪【含Matlab源码 1157期】
  9. 【图像修复】基于matlab GUI维纳滤波图像复原【含Matlab源码 851期】
  10. 【车牌识别】基于matlab GUI BP神经网络车牌识别【含Matlab源码 669期】