使用 split 命令分割 Linux 文件,使用 cat 合并文件
一些简单的 Linux 命令能让你根据需要分割以及重新组合文件,来适应存储或电子邮件附件大小的限制。
Linux 系统提供了一个非常易于使用的命令来分割文件。在将文件上传到限制大小的存储网站或者作为邮件附件之前,你可能需要执行此操作。要将文件分割为多个文件块,只需使用 split 命令。
$ split bigfile
默认情况下,split 命令使用非常简单的命名方案。文件块将被命名为 xaa、xab、xac 等,并且,大概地,如果你将足够大的文件分割,你甚至可能会得到名为 xza 和 xzz 的块。
除非你要求,否则该命令将无任何反馈地运行。但是,如果你想在创建文件块时看到反馈,可以使用 --verbose 选项。
$ split –-verbose bigfile
creating file 'xaa'
creating file 'xab'
creating file 'xac'
你还可以给文件命名前缀。例如,要将你原始文件分割并命名为 bigfile.aa、bigfile.ab 等,你可以将前缀添加到 split 命令的末尾,如下所示:
$ split –-verbose bigfile bigfile.
creating file 'bigfile.aa'
creating file 'bigfile.ab'
creating file 'bigfile.ac'
请注意,上述命令中显示的前缀的末尾会添加一个点。否则,文件将是 bigfileaa 之类的名称,而不是 bigfile.aa。
请注意,split 命令不会删除你的原始文件,只是创建了文件块。如果要指定文件块的大小,可以使用 -b 选项将其添加到命令中。例如:
$ split -b100M bigfile
文件大小可以是 KB、MB,GB,最大可以是 YB!只需使 K、M、G、T、P、E、Z 和 Y 这些合适的字母。
如果要基于每个块中的行数而不是字节数来拆分文件,那么可以使用 -l(行)选项。在此示例中,每个文件将有 1000 行,当然,最后一个文件可能有较少的行。
$ split --verbose -l1000 logfile log.
creating file 'log.aa'
creating file 'log.ab'
creating file 'log.ac'
creating file 'log.ad'
creating file 'log.ae'
creating file 'log.af'
creating file 'log.ag'
creating file 'log.ah'
creating file 'log.ai'
creating file 'log.aj'
如果你需要在远程站点上重新组合文件,那么可以使用如下所示的 cat 命令轻松地完成此操作:
$ cat x?? > original.file
$ cat log.?? > original.file
上面所示的分割和组合命令适合于二进制和文本文件。在此示例中,我们将 zip 二进制文件分割为 50KB 的块,之后使用 cat 重新组合了它们,然后比较了组合后的文件和原始文件。diff 命令验证文件是否相同。
$ split --verbose -b50K zip zip.
creating file 'zip.aa'
creating file 'zip.ab'
creating file 'zip.ac'
creating file 'zip.ad'
creating file 'zip.ae'
$ cat zip.a? > zip.new
$ diff zip zip.new$ <== 无输出 = 无差别
我唯一要提醒的一点的是,如果你经常使用 split 并使用默认命名,那么某些文件块可能会覆盖其他的文件块,甚至会比你预期的更多,因为有些是更早之前分割的。
via:https://linux.cn/article-11682-1.html
使用 split 命令分割 Linux 文件,使用 cat 合并文件的更多相关文章
- Linux下 split 划分文件 和 cat 合并文件
split 命令 split 命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等. 选项 -b:值为每一输出档案的大小,单位为 byte. -C:每一 ...
- 通过split命令分割大文件
场景 线上出了问题,我需要去查找log来定位问题,但是由于线上数据量庞大,这些log文件每过一个小时就会自动回滚一次,尽管如此,有的log文件依然达到了五六g以上的大小. 对于这种巨大的log文件,常 ...
- cat 合并文件或查看文件内容
1.命令功能 cat 合并文件或者查看文件内容. 2.语法格式 cat option file 参数说明 参数 参数说明 -n 打印文本,并显示每行行号并且空白行也同样包括 -b 与-n用法 ...
- Linux中split大文件分割和cat合并文件
当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输.这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件. 1.分割 ...
- Linux 使用 split 命令分割文件
使用方法: $ split --help 用法:split [选项]... [输入 [前缀]] 将输入内容拆分为固定大小的片段并输出到"前缀aa"."前缀ab" ...
- iconv内容,convmv文件名,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令,linux文件名乱码,文件名,文件内容,vim编码设置
1.enconv文件名编码转换,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下 enconv -L zh_CN -x UTF-8 filename enconv -L GB2312 -x ...
- shell cat 合并文件,合并数据库sql文件
> 覆盖写入 >> append模式写入 ###################################################################合并数 ...
- Linux(CentOS)用split命令分割文件
在 Linux 里,稍加不注意有可能会产生很大体积的日志文件,哪怕几百M,拖下来分析也很浪费时间,这个时候,如果可以把文件切割成 N 个小文件,拿最后一个文件就可以看到最近的日志了.有一些手段,比如用 ...
- Linux系统下使用split命令分割大文件 (转载)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://snailwarrior.blog.51cto.com/680306/140531 ...
随机推荐
- 记一些使用mpvue时遇到的问题
一.在mpvue中使用vuex(和在vue中使用不同) 1.vue中使用vuex,在main.js中: import store from './store' new Vue({ store }) ...
- 谈谈对this的指向问题
普通函数中:this——window 定时器:this——window 构造函数中:this——当前实例化的对象 事件处理函数:this——事件触发对象
- v-bind:value="diy" 添加到 <input type="button" /> 中可以,添加到<button />中不可以,diy是data中的数据
v-bind:value="diy" 添加到 <input type="button" /> 中可以, 添加到<button />中不可 ...
- CentOS7搭建FastDFS V5.11分布式文件系统(一)
1.绪论 最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家分享一下.FastDFS的作者淘宝资深架 ...
- paramiko:实现ssh协议,对linux服务器资源的访问
介绍 网络传输是遵循协议的,比如SSH,paramiko则是实现了SSHv2协议的一个python库(底层使用的是cryptography).有了paramiko之后,我们便可以通过python使用s ...
- Type Trait 和 Type Utility
所谓Type trait,提供了一种用来处理type 属性的办法,它是个template,可在编译期根据一个或多个template实参(通常也是type)产出一个type或者value. templa ...
- linux 常用指令汇总
新用户的一些操作: 查看当前用户:who am i(可以看到是否是伪终端)/也可以是whoami 添加用户:sudo adduser ..(用户名)..(此时创建的用户并未加入sudo组所以并不具有至 ...
- 自动化运维——MySQL备份脚本(二)
使用if语句编写MySQL备份脚本 代码: #!/bin/bash #auro backup mysql db #by steve yu #define backup path BAK_DIR=/da ...
- 【hdu 6155】Subsequence Count
题意 给定一个 \(01\) 串 \(S_{1...n}\) 和 \(Q\) 个操作. 操作有 \(2\) 种类型: 1. 将 \([l,r]\) 区间所有数取反(\(0→1,\space 1→0\) ...
- linux下redis 安装
--获取redis [redis@localhost ~]$ wget http://download.redis.io/releases/redis-2.8.7.tar.gz --2017-05-2 ...