首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >通过split命令分割大文件

通过split命令分割大文件

作者头像
雨临Lewis
发布于 2022-01-11 06:00:53
发布于 2022-01-11 06:00:53
2.1K0
举报
文章被收录于专栏:雨临Lewis的博客雨临Lewis的博客

场景

线上出了问题,我需要去查找log来定位问题,但是由于线上数据量庞大,这些log文件每过一个小时就会自动回滚一次,尽管如此,有的log文件依然达到了五六g以上的大小。

对于这种巨大的log文件,常用的一些文本编辑器诸如EditPlus、Notepad++就不用说了,打开几百m的文件都会很卡,上g的直接程序崩溃。虽然UltraEdit对于大文件的读取会友好一些,但打开这种五六g的文件时也会陷入长时间的无响应状态。

后来我又得知了一个看log神器——glogg,打开五六g的大文件速度很快,但是有个问题,就是只能读取文件,不能编辑文件。毕竟我不只是要查看log,有时候还要对这些有用的log信息进行编辑。最后还是决定先把大文件分割成数个小文件,再用UltraEdit来查看这些文件。

使用split命令分割大文件

Linux下,切割和合并文件可以使用split和cat命令来实现。 在Windows下,安装Git Bash也可以使用split和cat命令。

分割文件的命令是split,通过输入split --help可以查询帮助信息。假设现在有个6GB大小的文件test.log,这里简单介绍下几种分割的方式:

按大小分割文件

1

split -b 1000000000 test.log

-b参数表示按字节大小进行分割,在数字后边要指定被分割的文件名。这里在输入文件名时有个小技巧,可以直接把该文件拖动到cmd窗口中,会自动输入该文件的具体目录。这里的文件还可以使用通配符,比如split -b 1000000000 *

这个命令表示按1000000000byte的大小进行分割,近似于1GB,大概是953MB的大小。对于这个6GB大小的文件test.log,会被分割成6个小文件。这些小文件的命名是有规律的:xaa、xab、xac、xad、xae、xaf。如果你分割了非常多的小文件,当文件名到了xyz之后,会变成xzaaa、xzaab、xzaac、xzaad……所以不用担心小文件过多而导致文件重名什么的。

当然,上边的这种写法不够人性化,我们可以使用其他的单位来指定分割的大小:k、m。k表示KB,m表示MB。

split -b 100k test.log表示将test.log按照100KB的大小进行分割。 split -b 100m test.log表示将test.log按照100MB的大小进行分割。

按照所有行数加起来的最大字节数进行分割

1

split -C 100k test.log

-C参数表示按照所有行数加起来的最大字节数进行分割,同样可以使用k或者m作为单位,其实效果和上边的-b差不多,只是在切割时将尽量维持每行的完整性。

按照行数进行分割

1 2

split -l 1000 test.log split -1000 test.log

-l参数表示按照行数进行分割,即一个小文件中最多有多少行,-l number可以缩写成-number,上边的命令表示按照1000行一个小文件进行分割。

注意点

这三种分割的方式不能混合使用,如下:

1

split -l 3000 -C 100k *

会报错split: cannot split in more than one way

警告

本文最后更新于 September 2, 2018,文中内容可能已过时,请谨慎使用。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-022,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
大文件分割与重组技巧
由于各种不同的问题,我们经常会遇到需要将一个大文件分割存储的问题。比如github里单个文件大小一般不能超过100M、比如FAT32文件系统里单个文件大小不能超过4G,比如我们想把某一个数据文件分割存储和查看,比如对日志文件进行分割保存等等。
mythsman
2022/11/14
9950
Linux 使用split命令分割文件
split 命令可以将一个大文件分割成很多个小文件。在默认情况下将按照每1000行切割成一个小文件,默认前缀为 x。没有输入或输入为 - 时,从标准输入中读取。
smartsi
2019/08/07
3.2K0
【linux命令讲解大全】038.文件分割工具split与zip压缩包切割工具zipsplit
split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。
全栈若城
2024/03/02
8450
linux大文件分割
linux下文件合并是用cat来实现,那么将大文件分割成小文件怎么办呢? 我们可以用split命令来实现,既可以指定按行分割也能指定按大小分割,非常方便实用。
生信编程日常
2020/04/01
5K0
split 命令使用方法和技巧
split 是一个常用的命令行工具,用于将大文件分割成多个小文件。它通常在 Unix 和 Linux 系统中使用, 特别是 macOS 系统中, 经常被使用。如果是 Windows 用户,可以通过 Git Bash、Cygwin 或 WSL 使用。
liuzhen007
2025/02/03
3660
如何在 Linux下优雅的进行大文件切割与合并
往往是因为网络传输的限制,导致很多时候,我们需要在 Linux 系统下进行大文件的切割。这样将一个大文件切割成为多个小文件,进行传输,传输完毕之后进行合并即可。 1. 文件切割 - split 在 Linux 系统下使用 split 命令进行大文件切割很方便 [1] 命令语法 # -a: 指定输出文件名的后缀长度(默认为2个:aa,ab...) # -d: 指定输出文件名的后缀用数字代替 # -l: 行数分割模式(指定每多少行切成一个小文件;默认行数是1000行) # -b: 二进制分割模式(支持单位:k/
iMike
2021/07/01
4K0
Linux系统之使用split切割日志文件
小胡同学的文章详尽解析了2022年山东省技能大赛的样题,从IP地址规划到设备初始化信息,再到具体任务的实施步骤,内容丰富且实用。特别是在网络平台搭建和网络安全设备配置与防护方面,提供了非常详细的指导,如Telnet登录的授权信息设置、SNMPv3的安全配置以及VLAN的安全机制等,对于参赛者来说是不可多得的学习资料。文章结构清晰,逻辑性强,适合初学者和参赛选手参考学习。
江湖有缘
2024/11/12
5780
Linux系统之使用split切割日志文件
文件查看分割命令
描述:cat命令(Concatenate)连接文件并打印到标准输出设备上(显示、读取或拼接文件内容),他经常用来显示文件的内容,类似于下的type命令。 当文件较大的时候建议采用more或者less命令进行查看文件:
全栈工程师修炼指南
2022/09/28
4.1K0
文件查看分割命令
学习实践|MacOS上的split工具
这里推荐一篇实用的文章:《密码安全:如何识别强弱密码,并打造铁壁防线!》,作者:【喵手】。
六月暴雪飞梨花
2024/11/16
2390
学习实践|MacOS上的split工具
5分钟学linux命令之split
平时工作中,我习惯使用rz从本地上传文件到服务器,sz从服务器下载文件到本地,但对传输文件大小有限制,例如排查线上jvm的问题,需要生成了dump文件,可能有10G大,超过了限制,怎么下载呢?
每天晒白牙
2020/08/20
1.7K0
Linux命令(10)——split命令
将一个大文件分割成较小的文件,默认每1000行分割成一个小文件。有时需要将文件分割成更小的片段,比如为提高可读性、生成日志等。
恋喵大鲤鱼
2018/08/03
1.4K0
8.12 tee_tr_split命令
在切割一个文件,在不指定任何的文件名,最后显示的切割完的文件,会是已xab,xac这样一直延续下去,若再切割一次,则会zxaaa,zxaab等依次下去
运维小白
2022/01/06
1.1K0
Linux 命令 | 每日一学,文本处理之内容分割排序实践
描述:用来显示行中的指定部分,删除文件中指定字段,在文件的每一行中提取片断, 在每个文件 FILE 的各行中, 把提取的片断显示在标准输出。
全栈工程师修炼指南
2024/09/24
2640
Linux 命令 | 每日一学,文本处理之内容分割排序实践
linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)
例如将一个BLM.txt文件分成前缀为 BLM_ 的1000个小文件,后缀为系数形式,且后缀为4位数字形式
Python之道
2019/11/06
3.4K0
linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)
Linux 大文件分割合并
文件分割可以使用split命令,该即支持文本文件分割,又支持二进制文件分割;而合并文件可以使用cat命令。
用户8824291
2022/02/25
5.1K0
split命令
split命令用于将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。
WindRunnerMax
2020/08/27
1.9K0
linux split join paste uniq tee sort 工作中文本操作常用方法
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/77800208
bear_fish
2018/09/19
2.3K0
linux split join paste uniq tee sort 工作中文本操作常用方法
Linux下如何快速删除大量碎小的文件?
XX系统,通过FTP给客户实时传送文件,正常逻辑是客户收到文件后,自动删除FTP服务器上的本地文件,但经常出现文件已经推送了,客户没删除文件的情况。每个文件其实是很小的,可能几K,但是量很大,1天几万个,以至于时间久了,本地积的文件就会很多。我们不说让客户怎么排查问题,单就这个现象,如果积了几百万的小文件,我们能做些什么?你可能会说,删了啊,确实应该删了,但是小文件多了,会产生什么影响?如果直接rm,你认为行么?
bisal
2020/07/08
7.8K0
Linux下如何快速删除大量碎小的文件?
Python 分割合并大文件
有时候,我们需要把一个大文件发送给别人,但是限于传输通道的限制,比如邮箱附件大小的限制,或者网络状况不太好,需要将大文件分割成小文件,分多次发送,接收端再对这些小文件进行合并。今天就来分享一下用 Python 分割合并大文件的方法。
somenzz
2022/10/25
1.1K0
Python 分割合并大文件
如何用split命令来拆分文件
split是一个类似于grep或tail的Unix命令行实用程序。它允许您将较大的文件分成几个较小的文件。
Zeng
2018/09/10
4.6K0
推荐阅读
相关推荐
大文件分割与重组技巧
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档