文件的切分split和结合工具cat 介绍

linux命令和工具:如何把split命令分割的文件进行合并 split 命令用于将大文件分割成较小的部分,要将这些分割后的文件重新合并成原始文件,通常可以使用 cat 命令。合并的时候要注意:确保合并时文件的顺序正确。如果分割时使用了d 选项,文件名将是按数字排序的,直接命令就行。如果是默认的字母排序,也需要确保顺序正确。保持文件完整性,确保所有的分割文件都在同一目录下,并且没有缺失或损坏。 cat 命令执行得很快,效率很高。然而,如果文件数量极多,可能需要考虑脚本的性能优化。有时需要使用更复杂的工具或脚本来处理,比如 awk、sed 或 paste。 阅读详情

作者:北南南北
来自:LinuxSir.Org
摘要:文件的切分工具split和文件的结合工具cat,是我们偶尔用到的工具。初学的弟兄可能需要了解一下,有时我们在系统管理中还是需要的;

目录


++++++++++++++++++++++++++++++++++++++
正文:
++++++++++++++++++++++++++++++++++++++


1、文件的切分及结合工具;

可能我们遇到这种情况,有时文件比较大,想上传到服务器上,但由于服务器管理员为了安全考虑,把上传空间作了限制,比如只能上传20M的文件,如果 我们文件的体积在100M的,有时就是压缩也不能满足服务器上传的限制。这时我们就要考虑切分文件了,把100M的文件,切分成若干份,然后传到服务器 上。切分后的每个文件都是原文件的组成部份。如果要获得整个完整的文件,我们就需要文件的结合工具。

所以我们引入了文件切分工具split和csplit,文件的结合工具cat;


2、文件的切分工具 split 和csplit;

split 是把一个文件拆分为长度或体积相等的若干文件的工具;


2.1 split 工具;

split 是把一个文件拆分为长度或体积相等的若干文件的工具;


2.11 语法格式;

split [参数选项]  infile    [outfile]

split 把输入的文件拆分为若干体积或长度相等的文件,输入文件保持不变,只是把结果拆分结果写到outfileaa、outfileab ... ... 等文件中。如果我们不指定outfile,被拆分后的文件会写到 xaa、xab ... ...。
参数

-l n  把infile拆分为具有n行的段,默认值为1000
-b n[bkm] 以体积为单位的拆分,约定每拆分后每个文件的大小 ,b代表512B,k代表1KB,m代表1MB。
-C bytes[bkm] 把bytes的最大值放入文件,坚持增加完整的行;
- 从标准输入读取;
--help  帮助;


2.12 split实例应用;

实例一:比如我们想切分一个文件linuxdoc.txt,切分后,每两行存为一个新文件。

[root@localhost ~]# more linuxdoc.txt  注:linuxdoc.txt 文件内容查看;
111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999
000000000

[root@localhost ~]# split -l 2 linuxdoc.txt  linuxdocsp  注:切分linuxdoc.txt文件,被切分后的文件名linuxdocsp开头

[root@localhost ~]# ls linuxdocspa*   注:查看切分后的所有文件;
linuxdocspaa  linuxdocspab  linuxdocspac  linuxdocspad  linuxdocspae

[root@localhost ~]# more  linuxdocspa* 注:查看这些文件的内容;是不是每个文件都是两行呢?

linuxdocspaa
::::::::::::::
111111111
222222222
::::::::::::::
linuxdocspab
::::::::::::::
333333333
444444444
::::::::::::::
linuxdocspac
::::::::::::::
555555555
666666666
::::::::::::::
linuxdocspad
::::::::::::::
777777777
888888888
::::::::::::::
linuxdocspae
::::::::::::::
999999999
000000000

实例二:以文件体积为单位的切分;

[root@localhost ~]# ls -lh linuxdoc.txt
-rw-r--r-- 1 root root 100 04-27 15:56 linuxdoc.txt
[root@localhost ~]# more linuxdoc.txt
111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999
000000000


[root@localhost ~]# split -b 30 linuxdoc.txt linuxdocwsp 如果指定切分体积大小后面没有接单位,默认是B;

[root@localhost ~]# ls -lh linuxdocwspa*
-rw-r--r-- 1 root root 30 04-27 16:10 linuxdocwspaa
-rw-r--r-- 1 root root 30 04-27 16:10 linuxdocwspab
-rw-r--r-- 1 root root 30 04-27 16:10 linuxdocwspac
-rw-r--r-- 1 root root 10 04-27 16:10 linuxdocwspad

[root@localhost ~]# more  linuxdocwspa*
::::::::::::::
linuxdocwspaa
::::::::::::::
111111111
222222222
333333333
::::::::::::::
linuxdocwspab
::::::::::::::
444444444
555555555
666666666
::::::::::::::
linuxdocwspac
::::::::::::::
777777777
888888888
999999999
::::::::::::::
linuxdocwspad
::::::::::::::
000000000

对于切分体积的说明:如果没有指定单位,默认单位是B。还有其它的单位,比如b、k、m。看下面的例子;

[root@localhost ~]# ls -lh moretool.txt
-rw-r--r-- 1 root root 13K 04-27 16:17 moretool.txt  注:文件大小为13K;

[root@localhost ~]#split -b 3k moretool.txt  moretoolwsp   注: 切分后每个文件大小为3K;

实例三:从标准输入读取的实例;

[root@localhost ~]# ls -lh /etc | split -l 40 - etcfilelist
[root@localhost ~]# ls etcfilelista*
etcfilelistaa  etcfilelistab  etcfilelistac  etcfilelistad  etcfilelistae  etcfilelistaf  etcfilelistag

注:本指令的意思是用ls以长格式列出/etc目录的文件(不包括.file格式的文件,也就是隐藏文件),把输入的内容传递给 split,让split来切分每40行为存为一个文件,文件名的开头以etcfilelist开始。注意40后面的- ,表示从标准输入读取,在这里就表示键盘输入了,也就是读取ls -lh /etc 指令的内容。然后split切分。


2.2 csplit 工具;

正在补充之中... ...


3、文件的连接工具 cat;

cat 工具如果后面直接文件文件名,就可以查看文件的内容。我们在《文件内容查看工具》中有说过。在《文件内容查看工具》一文中,我们也谈过cat 连接文件的功能;现在我们仍得把cat工具连接文件的功能单列出来说一说。


3.1 把多个文件合并到一个新的文件中;

命令格式如下:

cat file1 file2 file3 ... ... > filen

我们可以把file1、file2、file3 等多个文件合并到一个文件中,其中filen是在合并这些文件的同时新建的文件,而不是已存在的文件;

[root@localhost ~]# cat sir01.txt
123456
[root@localhost ~]# cat sir02.txt
56789
[root@localhost ~]# cat sir03.txt
09876

[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt  > sir04.txt
[root@localhost ~]# more sir04.txt
123456
56789
09876


3.2 把多个文件合并追加到一个已存在的文件中;

命令格式如下:

cat file1 file2 file3 ... ... >> filen

如果我们想把file1、file2、file3等多个文件内容连接起来,并追加到一个已存在的文件filen中,应该用追加的方法;

[root@localhost ~]# more sir01.txt
123456
[root@localhost ~]# cat sir01.txt
123456
[root@localhost ~]# cat sir02.txt
56789
[root@localhost ~]# cat sir03.txt
09876
[root@localhost ~]# cat sir05.txt
aaaaa
bbbbb

[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir05.txt
[root@localhost ~]# cat sir05.txt
aaaaa
bbbbb

123456
56789
09876


4、关于分拆文件和连接文件的安全性;

比如我们把一个大的文件分拆为多个小文件时,肯定会考虑到,我们重新把一个一个小的分拆文件连接起来,会不会能和原文件保持一致 。这样的疑问其实也是有道理的,因为这关系到一个文件的完整性,如果真的合并不到一起,关系到文件的完整性和安全性。这时就涉及到文件的校验工具。一般我 们是通过MD5工具来校验对比。在Linux也有这样的工具md5sum。

[root@localhost ~]# ls -lh myfile.img  注:查看myfile.img文件属性;
-rw-r--r-- 1 root root 7.9M 04-27 20:35 myfile.img


[root@localhost ~]# split -b 4m myfile.img  myfileSp  注:分拆为大小为4M的文件;
[root@localhost ~]# ls -lh  myfileSp*   注:列出分拆文件,我们看到有两个文件;
-rw-r--r-- 1 root root 4.0M 04-27 20:37 myfileSpaa
-rw-r--r-- 1 root root 3.9M 04-27 20:37 myfileSpab


[root@localhost ~]# cat myfileSp* > newmyfile.img 注:我们尝试合并文件到一个新文件中;
[root@localhost ~]# ls -lh newmyfile.img 
-rw-r--r-- 1 root root 7.9M 04-27 20:38 newmyfile.img

[root@localhost ~]# md5sum newmyfile.img  myfile.img   注:我们对比合并后文件和原文件的MD5值,如果M55值相同,就是完整的;
[root@localhost ~]# md5sum newmyfile.img myfile.img 
7eb24d865a14fa3227633816800522c1  myfile.img
7eb24d865a14fa3227633816800522c1  newmyfile.img

上面是一个实例,把myfile.img文件分拆为4M大小的文件,然后再把两个文件连接起来,然后校验是不是合并后的文件和原文件的MD5值是相同的,如果相同,证明分拆过程是安全的。


5、关于本文;

文件的切分工具和结合工具只是介绍性的,用法也相对简单。我们知道有这两个工具就行了,用的时候查man和help就OK。没有必要象我这样大动干戈写文档,弄的好像写长篇小说似的。如果我真的能当作家,对我来说可是极大的荣耀~~~


6、后记;

关于目录和文件管理的文档写了有一些了,我想为这些文档写个归类文档,这样新手查看就容易一点。另外感觉应该写一下字符模式下的文本编辑工具的简单用法,比如vi或nano之类的。这新手面对黑黑的屏幕就不会不知所措了~~~


7、参考文档;

man 和help ;


8、相关文档;

Linux命令200例:split将一个大文件拆分成多个小文件 split是Linux系统中的一个文件拆分命令,它可以将一个大文件拆分成多个小文件。这对于处理大型文件,或者需要将数据分解到多个文件中的场景非常有用。split是一个非常有用的文件拆分命令,它可以根据大小或者行数将大文件拆分成多个小文件。通过本文介绍的实际应用示例,我们了解了split命令的基本用法,并掌握了一些常用的参数。希望这篇文章能够帮助你更好地理解和使用split命令。 阅读详情

相关推荐

文件切分与组合的实用技术指南

本文还有配套的精品资源,点击获取 简介:在IT领域中,处理大文件时经常会遇到管理和传输的问题,文件的切分与组合成为重要的操作技能。本指南将详细讲解如何使用工具在不同操作系统中进行文件切分与组合,确保文件能够高效安全地传输和存储。文章从原因、工具选择到操作步骤进行了全面介绍,并强调了在操作过程中需要注意的文件命名、顺序、完整性和格式兼容性等要点。 1. 文件切分与组...

weixin_32312889的博客 943

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

前言 当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输。这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件。 1. 分割文件 文件分割可以使用split命令,该即支持文本文件分割,又支持二进制文件分割;而合并文件可以使用cat命令。 1.1 文本文件分割 分割文本文件时,可以

极客点儿 1377

单节锂电池充电管理芯片应用原理阐述及应用领域

当电池电压超过2.9V时,采用恒流模式对电池充电,充电电流由PROG 管脚和GND之间的电阻RPROG确定。充电电压固定于4.2V,而充电电流可通过一个电阻器进行外部设置当充电电流在达到最终浮充电压之后降至设定值1/10时,WD4054将自动终止充电循环。在待机模式中,WD4054 对 BAT 引脚电压进行监控,只有当 BAT 引脚电压低于再充电阈值电压4.1V时(对应电池容量80%~90%),才会开始新的充电循环,重新对电池进行充电,这就避免了对电池进行不必要的反复充电,有效延长电池的使用寿命。

weixin_41141180的博客 943

split命令拆分大文件、cat合并

split命令拆分大文件、cat合并

MssGuo的博客 5520

Windows环境下pcl点云库 安装配置全流程(精简、有效)

本文为Windows配置点云库pcl步骤,具体是win10、visual studio 2017、pcl1.11.1。

zaibeijixing的专栏 1万+

不用公网IP!用Ollama+Chatbox搭建家庭AI助手(内网穿透方案对比)

本文详细介绍了如何利用Ollama和Chatbox在家庭局域网中搭建本地AI助手,无需公网IP即可实现内网穿透。通过对比不同穿透方案(如Tailscale、FRP等),提供最优配置建议,帮助用户低成本部署隐私安全的家庭AI系统,适用于智能家居、儿童教育等多种场景。

weixin_26765287的博客 460

Split文本分割

Split文本分割工具

Hard work results, technology is willing to dream 5463

别再为多相机标定头疼了!用VisionMaster统一坐标系的保姆级教程

本文详细介绍了使用VisionMaster平台解决多相机视觉系统中坐标系统一问题的完整流程。从标定板选择到N点标定,再到实战演练,提供了从原理到落地的全方位指导,帮助工程师高效解决多相机定位引导中的坐标偏差问题。

weixin_38168322的博客 632

文件的切分split和结合工具cat介绍

可能我们遇到这种情况,有时文件比较大,想上传到服务器上,但由于服务器管理员为了安全考虑,把上传空间作了限制,比如只能上传20M的文件,如果我们文件的体积在100M的,有时就是压缩也不能满足服务器上传的限制。比如我们把一个大的文件分拆为多个小文件时,肯定会考虑到,我们重新把一个一个小的分拆文件连接起来,会不会能和原文件保持一致。上面是一个实例,把myfile.img文件分拆为4M大小的文件,然后再把两个文件连接起来,然后校验是不是合并后的文件和原文件的MD5值是相同的,如果相同,证明分拆过程是安全的。

AI天才研究院 2万+

OsgEarth —— 笔记6 - 开发阶段加入漫游飞行(附源码)

效果      视频地址   源码 源码下载请私信   代码      代码相关内容:           OSG —— 笔记1 - 指令调用模型           OsgEarth —— 笔记1 - 创建地球的earth文件           OsgEarth —— 笔记2 - Qt窗口加载earth地球(附源码)           OsgEarth —— 笔记3 - 为地

1896

基于MATLAB/Simulink平台进行新能源微电网运行控制的建模与仿真

新能源微电网是现代电力系统的重要组成部分,能够有效整合分布式能源(如光伏、风力发电)和储能设备,实现局部区域内的能源高效利用。微电网的运行控制涉及多源能量管理、负荷平衡以及并网/孤岛模式切换等关键问题。基于MATLAB/Simulink平台进行新能源微电网运行控制的建模与仿真,可以帮助研究者验证控制策略的有效性,并优化系统的动态性能和经济性。本项目旨在构建一个完整的新能源微电网模型,包括电源模块、储能模块、负荷模块以及控制器模块,并通过仿真分析其运行特性。

xiaoheshang_123的博客 421

Linux split 和 cat详解

名称:split 使用权限:所有使用者 使用方式:split [OPTION] [INPUT [PREFIX] 说明: 将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为 PREFIXaa, PREFIXab...;PREFIX 预设值为 `x。若没有 INPUT 档或为 `-,则从标准输入读进资料。 匡兜 -b, --bytes=SIZE

IT骆驼翔子 2278

Android 10.0 SystemUI下拉状态栏点击设置跳转设置时白屏修改

在10.0的系统rom定制化开发中,在SystemUI下拉状态栏下方点击设置图标跳转设置的过程中,发现 有白屏显示挡住设置界面,显示白屏,接下来分析下相关原因来解决这个问题

安卓兼职framework和app工程师的博客 80

linux split函数,Linux split 和 cat详解

1、文件的切分及结合工具;可能我们遇到这种情况,有时文件比较大,想上传到服务器 上,但由于服务器 管理员为了安全 考虑,把上传空间作了限制,比如只能上传20M的文件,如果我们文件的体积在100M的,有时就是压缩也不能满足服务器上传的限制。这时我们就要考虑切分文件了,把100M的文件,切分成若干份,然后传到服务器上。切分后的每个文件都是原文件的组成部份。如果要获得整个完整的文件,我们就需要文件的结合...

weixin_34729012的博客 554

AI测试入门:基于 RAG 的 LLM 应用程序的测试方法「详细介绍」

一个典型的 RAG 架构包括一个检索器(对知识库进行矢量搜索检索上下文的组件)和一个生成器(从检索器中获取检索上下文以构建提示并生成自定义 LLM 响应作为最终输出的组件)。在大多数情况下, 知识库”由存储在向量数据库(如 ChromaDB)中的向量嵌入组成。

blues_C的博客 1869

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

利用Linux下的split命令切分大文件并合并文件

切分方法: 1):查看文件的行数: wc -l a.txt #查看a.txt文件共有多少行 2):根据行数利用 split 命令切分文件 split -l 1000 a.txt -d -a 4 b_ 将a.txt文件按照1000行来平分成若干个大小文件,b_ 是要保存成的新文件的前缀,后缀是指定的4位数字(-d -a 4) 例如:b_0001 b_0002等 或者: split...

xiamoyanyulrq的博客 2万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Linux文件的切分和结合

Linux文件的切分和结合 2008-04-28 15:13          1、文件的切分及结合工具;   可能我们遇到这种情况,有时文件比较大,想上传到服务器上,但由于服务器管理员为了安全考 虑,把上传空间作了限制,比如只能上传20M的文件,如果我们文件的体积在100M的,有时就是压缩也不能满足服务器上传的限制。这时我们就要考虑切分文 件了,把100M的文件,切

VergiL Wang的专栏 1712

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux 之split大文件切分与合并

如果有一个很大的文件,你想把其分割成一些小的文件,那么split这个命令就是干这件事的了。 [root@bdpadmin spilt_test]# ll total 20284 -rw-r--r--. 1 root root 20766931 Apr 13 17:21 Python-3.5.5.tgz [root@bdpadmin spilt_test]# ls -l Python-3.5.5.t...

你的世界是你创造的结果 555

BASH脚本基础:文件切分与合并过程

这篇文章介绍一下文件切分和合并的建议过程,使用split进行切分,使用cat进行合并,结合md5sum进行完整性验证,使用其他方式实现的话,整体的流程是可以参考的。

知行合一 止于至善 2218

linux split方法,Linux使用split对文件进行切分和合并的方法

文章目录[隐藏]在Linux下用split进行文件分割模式一:指定分割后文件行数模式二:指定分割后文件大小在Linux下用cat进行文件合并linux下文件分割可以通过split命令来实现,可以将一个大文件拆分成指定大小的多个文件,并且拆分速度非常的快,可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。在Linux下用split进行文件分割先看下帮助文...

weixin_33820059的博客 1284

linux 切分文件

linux经常需要处理文件,如果文件比较大,那么需要切分成为若干的小文件再处理。 命令:split 比如有一个文件: ll -h 1431531915758 -rw-r--r-- 1 ticketdev ticketdev 9.1G May 15 12:18 1431531915758 9.1个G的大小,如果想要切分称为每个文件100M大小,那么需要的命令是: ...

aijia7039的博客 265

linux 文件切分与合并

有些时候,文件大了需要切分成多个小文件进行传输,传输完成后再合成原来的文件。 1、使用split命令切分。-b表示切分大小,-a表示后缀长度 [root@master opt]# split -b 40m -a 2 72.0.3626.121_chrome_installer_x64.exe 72.0.3626.121_chrome_installer_x64.0 [root@mast...

Man_In_The_Night的博客 556

大文件切分与合并方法-split/cat

进行超大docker镜像文件离线刻盘传输时,需要切分和合并

weixin_42072959的博客 684

利用Linux下的split命令切分大文件并合并文件(Ubuntu分割txt)

问题来由 这个问题是在处理一个字典的时候发生的,我下载的字典过大,超出了爆破软件所能接受的大小。而我使用的系统是Ubuntu,以前在Window的时候都是使用一个txt分割程序来进行分割的,但是在Ubuntu就不知道怎么办了。查了查找到了下面的方法。 切分方法: 1):查看文件的行数: wc -l a.txt #查看a.txt文件共有多少行 2):根据行数利用 split 命令切分文件 spl...

林愿留的博客 3409

split区分文件-按行、大小区分文件

split [-bl] file [prefix] -a 5 -d 参数说明: -b -- bytes=size 对file进行切分 每个小文件大小为size 可以指定单位b,k,m -l -- lines=number 对file进行切分 每个文件都有number行 -a 5 后缀长度 -d 数字后缀 -c <字节> : 与参数"-b"相似,但是在切割时将尽量维持每行的完整性 prefix 分割后产生的文件名前缀 1、按2万行切分,以log_为前缀,以3为数字顺序为后缀 split .

大洋 3129
上一篇: VirtualBox端口映射
下一篇: MS SQL Server中的CONVERT日期格式化大全
ventry
博客等级 码龄21年 15粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值