当前位置: 代码网 > 服务器>服务器>Linux > Linux之split文件分割和合并方式

Linux之split文件分割和合并方式

2024年05月26日 Linux 我要评论
一、简介linux服务器普通的文件上传下载一般用 sz rz 就可以满足要求了,但是遇到大文件(超过4g)时就不好使了。这是就可以通过将大文件分割为小文件传输,之后再进行文件合并即可。二、用法spli

一、简介

linux服务器普通的文件上传下载一般用 sz rz 就可以满足要求了,但是遇到大文件(超过4g)时就不好使了。

这是就可以通过将大文件分割为小文件传输,之后再进行文件合并即可。

二、用法

split命令格式:

split + 参数 + 要分割的文件 + 分割后子文件前缀

参数:

参数解释
-a后缀长度,例如-a3表示后缀长度为3
-l按照行数将文件分割成多个小文件
-b按照字节数将文件分割成多个小文件
-d指定后缀编码为数字,默认编码为字母

2.1、生成测试大文件

[root@docker][19:13:12][ok] ~ 
#head -c 10m < /dev/urandom >cuttinglog
[root@docker][19:13:15][ok] ~ 
#ll -h
total 10m
-rw-r--r--  1 root root  10m nov 18 19:13 cuttinglog

2.2、分割

【1】每100行分成一个文件,后缀为数字,后缀长度为3位,前缀为log.

split -a3 -l 100 -d cuttinglog log.

[root@docker][19:13:17][ok] ~ 
#split -a3 -l 100 -d cuttinglog log.
[root@docker][19:15:30][ok] ~ 
#ll
total 21328
-rw-------. 1 root root     1640 nov  7 23:43 anaconda-ks.cfg
-rw-r--r--  1 root root 10485760 nov 18 19:13 cuttinglog
-rw-r--r--  1 root root    23325 nov 18 19:15 log.000
-rw-r--r--  1 root root    22546 nov 18 19:15 log.001
-rw-r--r--  1 root root    22925 nov 18 19:15 log.002
-rw-r--r--  1 root root    27279 nov 18 19:15 log.003
-rw-r--r--  1 root root    29060 nov 18 19:15 log.004
-rw-r--r--  1 root root    22118 nov 18 19:15 log.005
-rw-r--r--  1 root root    25845 nov 18 19:15 log.006
-rw-r--r--  1 root root    25865 nov 18 19:15 log.007
-rw-r--r--  1 root root    25474 nov 18 19:15 log.008
-rw-r--r--  1 root root    22842 nov 18 19:15 log.009
-rw-r--r--  1 root root    26265 nov 18 19:15 log.010
...

【2】每100行分成一个文件,后缀为字母,后缀长度为3位,前缀为log. 

split -a3 -l 100 cuttinglog log.

[root@docker][19:16:58][ok] ~ 
#split -a3 -l 100 cuttinglog log.
[root@docker][19:17:01][ok] ~ 
#ll
total 21328
-rw-------. 1 root root     1640 nov  7 23:43 anaconda-ks.cfg
-rw-r--r--  1 root root 10485760 nov 18 19:13 cuttinglog
-rw-r--r--  1 root root    23325 nov 18 19:17 log.aaa
-rw-r--r--  1 root root    22546 nov 18 19:17 log.aab
-rw-r--r--  1 root root    22925 nov 18 19:17 log.aac
-rw-r--r--  1 root root    27279 nov 18 19:17 log.aad
-rw-r--r--  1 root root    29060 nov 18 19:17 log.aae
-rw-r--r--  1 root root    22118 nov 18 19:17 log.aaf
-rw-r--r--  1 root root    25845 nov 18 19:17 log.aag
-rw-r--r--  1 root root    25865 nov 18 19:17 log.aah
-rw-r--r--  1 root root    25474 nov 18 19:17 log.aai
-rw-r--r--  1 root root    22842 nov 18 19:17 log.aaj
...

【3】每2m分成一个文件,后缀为字数字,后缀长度为2位,前缀为log.

split -b 2m -d cuttinglog log.

[root@docker][19:20:26][ok] ~ 
#split -b 2m -d cuttinglog log.
[root@docker][19:20:29][ok] ~ 
#ll -h
total 21m
-rw-------. 1 root root 1.7k nov  7 23:43 anaconda-ks.cfg
-rw-r--r--  1 root root  10m nov 18 19:13 cuttinglog
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.00
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.01
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.02
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.03
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.04

注意:当分割后文件的数量大于后缀能表达的最大文件数时,会报错:split: output file suffixes exhausted

例如:split -a1 -b 2048 -d /test/logs.txt /test/logs/log.这个命令能分割出14个文件,但是使用-a1命令使得后缀只能表示10个文件,所以实际文件数量超出后缀能表达的文件数量,会报错。

2.3、合并

[root@docker][19:27:03][ok] ~ 
#cat log.* >cuttinglog_bak
[root@docker][19:27:30][ok] ~ 
#ll -h
total 31m
-rw-------. 1 root root 1.7k nov  7 23:43 anaconda-ks.cfg
-rw-r--r--  1 root root  10m nov 18 19:13 cuttinglog
-rw-r--r--  1 root root  10m nov 18 19:27 cuttinglog_bak
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.00
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.01
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.02
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.03
-rw-r--r--  1 root root 2.0m nov 18 19:20 log.04
[root@docker][19:27:32][ok] ~ 
#md5sum cuttinglog*
a583e4c5c9de6618b89aa9fc909cc3c8  cuttinglog
a583e4c5c9de6618b89aa9fc909cc3c8  cuttinglog_bak

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

  • Linux关于Sudo的隐晦bug引发的一次业务问题排查

    写在前面记录一次生产环境sudo启动进程频繁被kill且不报错的异常处理过程,如果遇到同样的问题只想要解决方案,直接跳到处理方案部分即可。问题描述这次记录一个比较特殊的问题,先说一…

    2024年05月26日 服务器
  • Linux系统配置静态IP地址的详细步骤

    前言在安装linux后,系统的网络ip地址默认是自动分配的,这将导致每次启动linux系统后,系统的ip地址都会发生改变,这使在开发过程中及其不方便,给系统配置一个固定的ip地址显…

    2024年05月26日 服务器
  • 在Linux中安装Git的详细流程

    在Linux中安装Git的详细流程

    本文对在ubuntu系统中实现git的下载、安装的方法介绍。首先,我们现在终端中输入如下代码,查看当前电脑中是否已经有了git。git --version运行上... [阅读全文]
  • linux服务器磁盘满了的三种解决方案

    方法一步骤一:遇到磁盘空间不足的报错时候,首先使用df -h查看磁盘空间使用情况,如图/home/zhang目录磁盘空间达到100%。步骤二:进入目录/home/zhang,查找磁…

    2024年05月26日 服务器
  • Linux服务器磁盘空间清理方法汇总

    Linux服务器磁盘空间清理方法汇总

    一、引言在长时间运行过程中,linux服务器上的磁盘空间可能会被各种文件和目录占用,导致磁盘空间不足。为了确保服务器的稳定性和性能,定期清理磁盘空间是非常必要的... [阅读全文]
  • Linux手把手教你实现udp服务器的详细过程

    前言上一篇文章中我们讲到了很多的网络名词以及相关知识,下面我们就直接进入udp服务器的实现。一、udp服务器的实现首先我们需要创建五个文件(文件名可以自己命名也可以和我一样),分别…

    2024年05月26日 服务器

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com