大文件切割(split)
- 根据行数切割,通过-l参数指定需要切割的行数
- 根据大小切割,通过-b参数指定需要切割的大小
1.1 根据行数切割
#源文件大小
[root@VM_3_50_centos split]# ls -l -www.happylauliu.cn.gz -h
-rw-r--r-- root root .4G 1月 : -www.happylauliu.cn.gz #按行切割
[root@~]# split -l -d --verbose -www.happylauliu.cn.gz split-line
正在创建文件"split-line00"
正在创建文件"split-line01"
正在创建文件"split-line02"
正在创建文件"split-line03"
正在创建文件"split-line04"
正在创建文件"split-line05"
正在创建文件"split-line06"
正在创建文件"split-line07"
正在创建文件"split-line08"
正在创建文件"split-line09"
正在创建文件"split-line10"
...
正在创建文件"split-line9168"
正在创建文件"split-line9169"
正在创建文件"split-line9170"
正在创建文件"split-line9171" #查看切割文件行数确认
[root@VM_3_50_centos split]# wc -l split-line00
split-line00
[root@VM_3_50_centos split]# wc -l split-line01
split-line01
[root@VM_3_50_centos split]# wc -l split-line9170
split-line9170
[root@VM_3_50_centos split]# wc -l split-line9171
split-line9171 #查看文件大小
[root@VM_3_50_centos split]# ls -lh split-line0[-]
-rw-r--r-- root root 14M 1月 : split-line00
-rw-r--r-- root root 14M 1月 : split-line01
-rw-r--r-- root root 14M 1月 : split-line02
-rw-r--r-- root root 14M 1月 : split-line03
-rw-r--r-- root root 14M 1月 : split-line04
-rw-r--r-- root root 14M 1月 : split-line05
-rw-r--r-- root root 14M 1月 : split-line06
-rw-r--r-- root root 14M 1月 : split-line07
-rw-r--r-- root root 14M 1月 : split-line08
-rw-r--r-- root root 14M 1月 : split-line09
指定行数后会自动做切割,即达到5000行之后自动切割,通过-d参数文件名会自动以数字的方式命名,切割后,每个文件大小为14M,此时再对文件进行分析将会方便边界很多,同时文件数量也会很多,可以增加行数的方式进行切割,方便分析。
1.2 根据大小切割
除了按照行数切割之外,split还支持通过文件大小进行切割,通过指定-b参数指定文件大小进行切割,文件大小单位支持K, M, G, T, P, E, Z,如下以切割为500M演示文件切割过程
[root@~]# split -b 500M -d --verbose -www.happylauliu.cn.gz split-size
正在创建文件"split-size00"
正在创建文件"split-size01"
正在创建文件"split-size02"
正在创建文件"split-size03"
正在创建文件"split-size04"
正在创建文件"split-size05"
正在创建文件"split-size06" [root@VM_3_50_centos split]# ls -lh split-size0*
-rw-r--r-- root root 500M 1月 : split-size00
-rw-r--r-- root root 500M 1月 : split-size01
-rw-r--r-- root root 500M 1月 : split-size02
-rw-r--r-- root root 500M 1月 : split-size03
-rw-r--r-- root root 500M 1月 : split-size04
-rw-r--r-- root root 500M 1月 : split-size05
-rw-r--r-- root root 444M 1月 : split-size06
1.3 多文件合并
split是用户将大文件切割为多个小文件,如果需要将多个小文件合并为一个文件怎么处理呢?可以使用文件重定向方式实现,如下演示两个小文件合并为一个文件
[root@VM_3_50_centos split]# cat split-size01 split-size02 >two-file-merge [root@VM_3_50_centos split]# ls -lh two-file-merge
-rw-r--r-- root root 1000M 1月 : two-file-merge
合并方式通过读取文件的方式+输出重定向,对于大文件一样会存在性能的问题,建议根据需要使用。
大文件切割(split)的更多相关文章
- 实战|Linux大文件切割
一个执着于技术的公众号 日常工作中需要对日志文件进行分析,当日志文件过大时,Linux中使用vim.cat.grep.awk等这些工具对大文件日志进行分析将会成为梦魇,具体表现在: 执行速度缓慢,文件 ...
- Ajax+Java实现大文件切割上传
技术体系:html5(formdata) + java + servlet3.0+maven + tomcat7 <!DOCTYPE html> <html> <head ...
- Linux大文件分割split和合并cat使用方法
本文主要介绍linux下两个命令:split和cat.其中,相信大家都熟悉cat命令,一般用来查看一个文件的内容,但是它还其它的功能,比如这里要介绍的文件合并功能,它可把多个文件内容合并到一个文件中. ...
- Linux上大文件切割以及批量并发处理
一.环境说明 某次项目需求中,在Linux上有批文本文件,文件文件都有几个G大,几千万行的数据.无论在Linux和Windows打开这么大的文件,基本上打开要卡半天,更别说编辑. 因此想到使用spli ...
- PHP搭建大文件切割分块上传功能
背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示"该文件过大".因为一般情况下,我们都需要对上传的文件大小做限制,防止出现 ...
- Ajax大文件切割传输
文件上传服务器的大小是一定的,所以大文件可以切割成小文件,依次 传输,然后再拼接切割文件上传,用同步方式传输,为了防止异步传输 中多个块同时传输,文件拼接错误,导致文件损坏 前端页面 <!doc ...
- PHP搭建大文件切割分块上传功能示例
转载:https://www.jb51.net/article/101931.htm 背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示“该文件 ...
- 支持IE低版本的上传 大文件切割上传 断点续传 秒传
1. http://files.cnblogs.com/files/blackice/UploadDemo.rar 此demo是使用的 swfupload 2.http://download.csdn ...
- 18 IO流(十五)——RandomAccessFile随机访问文件及使用它进行大文件切割的方法
本文部分内容转自:https://blog.csdn.net/nightcurtis/article/details/51384126 1.RandomAccessFile特点 RandomAcces ...
随机推荐
- Git高级之配置多个SSH key
最近我们在代码托管平台上使用SSH的方式下拉代码,通常是用一个ssh key来拉取所有托管平台的代码,如码云,GitHub.GitLab等,但是总用一个不是太好.会有安全风险,这就需要为每个托管平台设 ...
- 【中文乱码】深入分析 Java Web 中的中文编码问题
深入分析 Java Web 中的中文编码问题 1.几种常见的编码格式 1.1 为什么要编码 在计算机中存储信息的最小单元是 1 个字节,即 8 个 bit, 所以能表示的字符范围是 0 ~ 255 个 ...
- 【Java面试】Mybatis篇
1.MyBatis编程步骤是什么样的? ① 创建SqlSessionFactory ② 通过SqlSessionFactory创建SqlSession ③ 通过sqlsession执行数据库操作 ④ ...
- 12、python文件的操作
前言:本文主要介绍python中文件的操作,包括打开文件.读取文件.写入文件.关闭文件以及上下文管理器. 一.打开文件 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处 ...
- for in 和 for i 十月 javascript 第一弹 记录
for in 里面的 i 不仅有 数字还有这些鬼
- 用自定义变量作为动作方法参数 URL路由 精通ASP-NET-MVC-5-弗瑞曼
- HLS协议
今天来介绍一下HLS协议,这个协议是由苹果公司提出并推广开来的.来一段维基百科的定义. HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议.是 ...
- SOAP与REST API的爱恨情仇
之前一直想写些RESTful相关的文章,却一直未付诸行动.直到最近接手一个新的项目,对这块重新温习,乘此机会写些相关帖子.欢迎大家评论留言,如有错漏之处,也望各位大佬不令赐教. 话不多说,干活顶上. ...
- 一、Django学习之连接与建立数据库
连接MySQL数据库 配置文件 找到DATABASES对应的设置,修改为MySQL的配置即可 DATABASES = { 'default': { 'ENGINE': 'django.db.backe ...
- gRPC in ASP.NET Core 3.x -- Protocol Buffer(2)Go语言的例子(下)
第一篇文章(大约半年前写的):https://www.cnblogs.com/cgzl/p/11246324.html gRPC in ASP.NET Core 3.x -- Protocol Buf ...