前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中split大文件分割和cat合并文件详解

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

作者头像
砸漏
发布2020-10-19 11:18:30
9.1K0
发布2020-10-19 11:18:30
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

前言

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

1. 分割文件

文件分割可以使用split命令,该即支持文本文件分割,又支持二进制文件分割;而合并文件可以使用cat命令。

1.1 文本文件分割

分割文本文件时,可以按文件大小分割,也可以按文本行数分割。

按文件大小分割

按文件大小分割文件时,需要以-C参数指定分割后的文件大小:

代码语言:javascript
复制
$ split -C 100M large_file.txt stxt

如上所示,我们将大文件large_file.txt按100M大小进行分割,并指定了分割后文件前缀stxt;当不指定前缀时,split会自动对分割文件进行命名,一般会以x开头。

按行分割

文本文件还可以以行为单位进行分割,以行数进行分割时会忽略文件大小,并以-l参数指定分割后文件的行数:

代码语言:javascript
复制
$ split -l 1000 large_file.txt stxt

1.2 二进制文件分割

二进制文件分割类似于按大小分割文本文件,不同的是以-b参数来指定分割后的文件大小:

代码语言:javascript
复制
$ split -b 100M data.bak sdata

2. 文件合并

文件合并使用cat命令,上面几种方式分割的文件都可以使用cat命令合并。

cat命令合并分割文件:

代码语言:javascript
复制
$ 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命令的常见使用场景有:

显示文件内容:

代码语言:javascript
复制
$ cat filename

创建一个空文件:

代码语言:javascript
复制
$ cat > filename

文件合并:

代码语言:javascript
复制
$ cat file1 file2 > file
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档