linux下将多个文件去除文件头合并_命令行生存指南:拆分与合并 | Linux 中国

8e0e734e947f0901b1110df853c3c3fc.png
这一节将会介绍 Linux 命令行下的文件拆分与合并操作。
  • 作者:Psiace

(本文字数:2706,阅读时长大约:3 分钟)

作为一个工程师,我们经常与命令行打交道,但除了工作用的命令,你是否尝试过让命令来替代你生活中方方面面?
为了让更多的爱好者可以用命令行作为自己的有效工具,Linux 中国特别邀请了三位作者,撰写了《命令行生存指南》,希望可以通过这个系列的文章,让你换一个视角,来看待命令行的存在。如果你想体验一下不一样的命令行,那就不妨来看看今天的《命令行生存指南》。
本次的内容为试读内容,也欢迎你针对今天的内容提出自己的意见和建议。

操作概述

备份文件时常常涉及到大文件传输的问题,遇到网络质量不佳或者其他问题常常会导致传输中断,而不得不进行重传。如果采用先将大文件拆分成多个小文件进行传输、待全部传输完成后合并所有文件的方式,往往可以改善传输体验。

这一节将会介绍 Linux 命令行下的文件拆分与合并操作。

概念和术语

拆分,顾名思义,就是将一个大的文件分割成若干个较小的文件,这些小文件按次序拼接后可以还原大文件。通常情况下,根据文件大小进行拆分是较为常见的方式;但由于文本文件具有行数特征,所以除了按大小拆分之外,也可以按行数拆分。

合并,就是将若干个较小的文件拼接成一个较大文件。通常只需要按次序连接即可,相对比较简单。

通常情况下,为确保拆分前和合并后的两个文件相同,需要进行验证。

操作实战

场景一:使用 split 拆分文件

d1dd25150800e6b398250e2ce92e67c3.png

split 是 Linux 环境提供的文件拆分实用程序,同时支持二进制文件和文本文件。通常情况下已经随 coreutils 内置于系统中,无需另行安装。

按大小拆分

二进制文件和文本文件按大小拆分时使用的选项不同:

  • 二进制文件使用 -b 选项指定分割后的文件大小。
  • 文本文件则使用 -C 选项指定分割后的文件大小。

二者用法类似,只需要:

split [选项] [大小] [待拆分文件] [拆分后的前缀(可选)]

以将 debian-live-10.5.0-amd64-lxqt.iso(约 2.4 GB)按 100MB 大小进行拆分为例:

> split -b 100M debian-live-10.5.0-amd64-lxqt.iso debian-live-

可以看到原文件被拆分成 25 个更小的文件,从 aa 到 ay:

debian-live-aa  debian-live-ad  debian-live-ag  debian-live-aj  debian-live-am  debian-live-ap  debian-live-as  debian-live-av  debian-live-ay
debian-live-ab  debian-live-ae  debian-live-ah  debian-live-ak  debian-live-an  debian-live-aq  debian-live-at  debian-live-aw
debian-live-ac  debian-live-af  debian-live-ai  debian-live-al  debian-live-ao  debian-live-ar  debian-live-au  debian-live-ax

场景二:使用 cat 合并文件

55a94adcc6584b4d96730bad99b35a49.png

cat 是 linux 环境提供的文件连接实用程序,能够连接文件并将其输出到标准输出。通常情况下已经随 coreutils 内置于系统中,无需另行安装。

值得注意的是,为了保证合并后的文件和原始文件一致,在有条件的情况下,可以用 diff 命令验证。

合并拆分后的文件

使用 cat 合并文件可以采用 cat [文件...] > [合并后的文件名] 的格式,此方法对二进制文件和文本文件均有效。

以之前的 debian-live-aa 到 debian-live-ay 为例,合并时可以使用此命令:

> cat debian-live-* > debian-live.iso

可以看到目录下会生成合并后的 debian-live.iso 文件。

debian-live-aa  debian-live-ad  debian-live-ag  debian-live-aj  debian-live-am  debian-live-ap  debian-live-as  debian-live-av  debian-live-ay
debian-live-ab  debian-live-ae  debian-live-ah  debian-live-ak  debian-live-an  debian-live-aq  debian-live-at  debian-live-aw  debian-live.iso
debian-live-ac  debian-live-af  debian-live-ai  debian-live-al  debian-live-ao  debian-live-ar  debian-live-au  debian-live-ax

使用 diff 验证文件

只需要按 diff [原文件] [现文件] 的格式执行即可。如果没有输出,则证明两个文件之间没有差异。

以对比 debian-live-10.5.0-amd64-lxqt.isodebian-live.iso 为例:

> diff debian-live-10.5.0-amd64-lxqt.iso debian-live.iso
> # 无输出,表示二者是相同的。

小练习

  • 尝试以不同方式拆分系统中的日志文件。

拓展阅读

  • Linux 中国 官网上的《使用 split 命令分割 Linux 文件》同样介绍了文件的拆分与合并。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【youcans 的 OpenCV 例程200篇】130. 形态学之提取水平和垂直线

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】130. 形态学之提取水平和垂直线 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述…

java - 求和

算术运算符中求和运算: 对于数字的求和计算我们通常使用计算器,但是对于特别复杂的数进行求和计算机是无法满足我们的,那么除了计算器还有什么方法呢? 当然有了,没有一个算法是一个程序搞定不了的。 计算分数序列&…

c语言5的阶乘流程图_5 种前途迷茫的编程语言

code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群与本文对立文:5 门前途美好的编程语言译文链接:http://www.codeceo.com/article/5-die-programming-language.html英文原文:5 Programming Languages Marked for Death…

【youcans 的 OpenCV 例程200篇】131. 形态学重建之竖线字符提取

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】131. 形态学重建之竖线字符提取 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图…

java - 判断任意一天是这年的第几天

进入程序之后,我们根据提示输入年份,点击Enter之后会让我们输入月份,点击Enter之后会让我们输入日,当我们按要求输入年月日之后点击Enter按键之后会计算输入的日期是输入年份的第几天。 原理分析: 1.年份的提示输入 2…

【youcans 的 OpenCV 例程200篇】132. 形态学重建之孔洞填充算法

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】132. 形态学重建之孔洞填充算法 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图…

c 包含其他文件_C语言:全局变量在多个c文件中公用的方法!

用C语言编写程序的时候,我们经常会遇到这样一种情况:希望在头文件中定义一个全局变量,然后包含到两个不同的c文件中,希望这个全局变量能在两个文件中共用。举例说明:项目文件夹project下有main.c、common.c和common.h三…

【youcans 的 OpenCV 例程200篇】133. 形态学重建之边界清除

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】133. 形态学重建之边界清除 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…

跟着川川学数模-Day2

目录 一、前言 二、问题提出 三、问题求解 3.1 线性规划(忽视整数条件) 3.2 整数线性规划 3.2.1 对x1进行分枝求解 3.2.2 在x范围下对x2进行分支求解 3.2.3 求解最大值 3.2.4 结果 一、前言 在川川前面两篇的推送中,学习到了如何求解…

鼠标吸附彩色气泡

H5Cavas制作鼠标吸附彩色气泡。当鼠标在屏幕上移动的时候&#xff0c;鼠标划过的区域会出现许多彩色气泡&#xff0c;并且会自动消失。 效果演示 看了如此效果是不是心动的感觉呢&#xff1f;&#xff1f;&#xff1f; 代码展示 <!DOCTYPE html> <html><hea…

【youcans 的 OpenCV 例程200篇】135. 形态学重建之粒度测定

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】135. 形态学重建之粒度测定 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…

跟着川川学数模-Day3

目录 一、非线性引入 二、非线性规划模型 三、Matlab中的非线性规划函数 四、求解不等式和等式双变量约束 五、非线性约束求最小值 5.1 奇奇怪怪的三变量 5.2 可可爱爱的范围寻优 六、总结 一、非线性引入 前面两天跟着川川学习了线性规划和整数线性规划&#xff0c;今…

java - 求最大公约数和最小公倍数

根据提示输入两个正整数 m 和 n&#xff0c;求其最大公约数和最小公倍数 并进行控制台输出。 原理分析 在循环中&#xff0c;只要除数不等于 0&#xff0c;用较大数除以较小的数&#xff0c;将小的一个数作为下一轮循环的大数&#xff0c;取得的余数作为下一轮循环的较小的数&…

【youcans 的 OpenCV 例程200篇】134. 形态学重建之细胞计数

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】134. 形态学重建之细胞计数 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…

【youcans 的 OpenCV 例程200篇】136. 灰度腐蚀和灰度膨胀

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】136. 灰度腐蚀和灰度膨胀 5. 灰度级形态学 灰度级形态学将形态学操作从二值图像扩展到灰度图像。…

基于主成分分析法的安全评价模型

目录 一、安全评价简介 二、引入 三、调查问卷的设置 四、问卷发放与回收 五、主成分分析法介绍 六、SPSS主成分分析&#xff08;简易版&#xff09; 6.1 数据的导入与设定 6.2 信效度分析 6.3 SPSS主成分分析处理 一、安全评价简介 何为安全评价&#xff0c;对于本专业…

java - 分解质因数

根据提示输入一个正整数&#xff0c;用java程序进行分解质因数。例如&#xff1a;输入 90,打印出 90233*5 原理分析&#xff1a; 1.对 n 进行分解质因数&#xff0c;应先找到一个最小的质数 k&#xff0c;然后按下述步骤完成&#xff1a; 2.如果这个质数恰等于 n&#xff0c;则…

【youcans 的 OpenCV 例程200篇】137. 灰度开运算和灰度闭运算原理

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】137. 灰度开运算和灰度闭运算 5. 灰度级形态学 灰度级形态学将形态学操作从二值图像扩展到灰度图…

跟着川川学数模-Day4

目录 一、一元线性回归 二、多元线性回归 一、一元线性回归 今天是跟着川川学数模的第四天&#xff0c;也与前些天的规划问题不同&#xff0c;进入到了线性回归&#xff0c;那么我们先来看一下一元线性回归问题. 我们以某一数据列为例&#xff0c;代码如下 x1:12; y[217.22…

Java - 计算不同字符或数字的个数

根据提示输入一行字符&#xff0c;这行字符可以是任意的&#xff0c;可以包含字母数字标点符号&#xff0c;特殊符号等&#xff0c;java程序会输出你输入字符串中各个类别字符的个数。 结果展示 代码展示 package com.one;import java.util.*;public class Flqgs {public st…