这是一个知识点
方便快捷的给结构化数据文件分割大小并保留文件的表头,几十个G的结构化文件不仅阅读编辑麻烦,而且使用受限,因此高效的分割成小文件并保留头行
1、分割文件
在Linux下,切割和合并文件可以使用split和cat命令来实现。
在Windows下,安装Git Bash也可以使用split和cat命令。
分割文件的命令是split,通过输入split --help可以查询帮助信息。假设现在有个6GB大小的文件test.log,这里简单介绍下几种分割的方式:
按大小分割文件(此处不推荐)
split -b 500m 文件 newfile
每个文件大小500m,生成的新文件的文件名是newfile后面加上按照aa,ab,ac……来排序的
比如文件有1.4G,那么会切割出3个文件,文件名分别是newfileaa,newfileab,newfileac,没有扩展名
新文件名可以不设置,系统默认新文件以字母x开头,也就是说,如果命令是:
split -b 500m log.txt
那么文件名就是xaa,xab,axc
速度比windows下的那些什么切割软件快太多
同时,-C参数表示按照所有行数加起来的最大字节数进行分割,同样可以使用k或者m作为单位,其实效果和上边的-b差不多,只是在切割时将尽量维持每行的完整性。
另外切开的文件还能再合起来,命令是:
cat newfile* > orifile
此处不推荐的原因是因为结构化文件按大小分割会造成结构破坏,故推荐按行分割