linux把大文件分成小文件,linux文件分割(将大的日志文件分割成小的)
linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。
在Linux下用split进行文件分割:
模式一:指定分割后文件行数
对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割。
命令:split -l 300 large_file.txt new_file_prefix
模式二:指定分割后文件大小
split -b 10m server.log waynelog
对二进制文件我们同样也可以按文件大小来分隔。
在Linux下用cat进行文件合并:
命令:cat small_files* > large_file
tag: linux 日志
分割
说明:
本文采用一个50M大小的日志文件进行测试。
日志文件名:log.txt.gz。
文件行数:208363
方法1:(split分割)
语法:split [-][-b
][-C
][-l
][要切割的文件][输出文件名]
# gunzip
log.txt.gz //一定要先解压,否则分割的文件是不能cat/zcat显示;
# wc -l
log.txt //计算一个文件的总行数;
208363 log.txt
# split -l 120000 log.txt newlog
//通过指定行数,将日志分割成两个文件;
# du -sh
*50M log.txt
29M newlogaa
22M newlogab
# file
* //分割后的文件与原文件属性一样
log.txt: ASCII text, with very long lines, with CRLF line
terminators
newlogaa: ASCII text, with very long lines, with CRLF line
terminators
newlogab: ASCII text, with very long lines, with CRLF line
terminators
# gzip newlogaa
newlogab //将分割后的文件进行压缩,以便传输
另一种方法,通过
方法2:(dd分割)
# gunzip
log.txt.gz //一定要先解压,否则分割的文件是不能cat/zcat显示;
#dd bs=20480 count=1500 if=log.txt
of=newlogaa //按大小分第一个文件
#dd bs=20480 count=1500 if=log.txt of=newlogab
skip=1500 //将大小之后的生成另一个文件#file
*
log.txt: ASCII text, with very long lines, with CRLF line
terminators
newlogaa: ASCII text, with very long lines, with CRLF line
terminators
newlogab: ASCII text, with very long lines, with CRLF line
terminators
分割没问题,但会出现同一行分到不同文件的情况,除非你以及日志分析系统可以“容忍”。
方法3:(head+tail 分割)
#gzip
log.txt.gz //如不解压缩,下面请用zcat。
#wc -l
log.txt //统计一个行数
208363 log.txt
# head -n `echo $((208363/2+1))` log.txt >
newloga.txt
//前x行重定向输出到一个文件中;
#tail –n `echo $((208363-208362/2-1))` log.txt
>newlogb.txt //后x行重定向输出到一个文件中;
#gzip newloga.txt
newlogb.txt //将两个文件进行压缩
方法4:(awk分割)
#gzip log.txt.gz#awk ‘{if (NR<120000) print $0}’
log.txt >newloga.txt#awk ‘{if
(NR>=120000) print $0}’ log.txt
>newlogb.txt
以上两个命令,都要遍历整个文件,所以考虑到效率,应使用合并成:
#awk ‘{if (NR<120000) print $0
>”newloga.txt”;if (NR>=120000) print
$0>”newlogb.txt”}’ log.txt
总结:
以上四种方法,除了dd之外的三种方式都可以很好的整行分割日志文件。进行分割时,应考虑在读一次文件的同时完成,如不然,按下面的方式分割:
Cat log.txt| head –12000 >newloga.txt
Cat log.txt | tail –23000 >newlogb.txt
如用此方法分割文件的后一部分,那么执行第二行命令文件时,前x行是白白读一遍的,执行的效率将很差,如文件过大,还可能出现内存不够的情况。
linux把大文件分成小文件,linux文件分割(将大的日志文件分割成小的)相关推荐
- linux 将文件分成两部分,linux 将大文件分成小文件
最近lvm磁盘老报错,message文件大的惊人,想找个办法将这个文件分成若干的小文件来查看.无意中发现这个神器-----split 例如将一个message文件分成前缀为message_ 的100个 ...
- mysql 日志文件 自动_教你自动恢复MySQL数据库的日志文件
如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据."mysqlbinlog:用 ...
- android分享文件分享结果_干货分享丨DM删除归档日志文件的多种方法
上一期我们讲解了DM数据库归档日志的切换,本期我们讲解DM数据库归档日志文件的删除. 本章内容已在如下环境上测试: ①操作系统:中标麒麟7: ②数据库版本:达梦8: 相关关键字:DM数据库.归档日志文 ...
- 服务器日志文件可以删吗,C:\Windows\Logs\CBS 里面的日志文件能否删除?
问题C:\Windows\Logs\CBS 里面的日志文件能否删除? C:\Windows\Logs\CBS 里面log文件有8个G了,而我现在C盘剩余空间为16MB , 请问这里面的日志能否删除,有 ...
- linux 用journalctl --vacuum-size=10M命令清理/var/log/journal目录下的日志文件
su - root journalctl --vacuum-size=10M
- Linux下日志文件过大解决方案
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 很多Linux服务器里的应用程序都是无间断的输出日志,这对于服务器的硬盘是一个很大的考验. 通 ...
- 别人的Linux私房菜(19)认识与分析日志文件
日志文件通常只有root可以读取,解决系统和网络方面的问题. /var/log/boot.log本次开机系统检测和启动硬件,和内核支持的相关功能的信息记录. /var/log/cron计划任务有没有被 ...
- Linux下自动分割Nginx日志文件(三)-----Logrotate
logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件.例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月 ...
- Linux中查看日志文件的正确姿势,求你别tail走天下了!
作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了.尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于我这种小菜鸡来说,第一反应就是 cat,tail,vi(或 ...
- linux关于日志文件介绍,Linux下重要日志文件介绍
1./var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是说linux系统开机自检过程的信息显示 如图: 2./var/log/cron 该文件记录crontab守护进程cr ...
最新文章
- “含光”剑出,谁与争锋?阿里重磅发布首颗AI芯片含光800
- 网络编程学习笔记(辅助数据)
- js定义鼠标经过变换图片
- The world at your fingertips — 天涯明月刀幕后(后记)
- 苍溪师范94级计算机与文秘专业就业前景,文秘专业就业前景
- 《Git权威指南》笔记2
- python使用高阶函数实现_18.python高阶函数
- java游戏暂停弹出字体_小白写了个java的小游戏 想加个暂停的功能 无从下手 求大佬们帮...
- 链表在STM32中的应用
- swapLexOrder
- 555定时器回差电压计算公式_555定时器及其应用
- Android开发实战手把手教你实现一个折叠式布局
- [GIS原理] 10.1 空间统计描述(描述性分析、探索性数据分析)、空间自相关分析 - QQ图、权重矩阵、Moran'sl、G统计量
- 【京东笔试题】熊猫吃竹子,回溯
- 【博学谷学习记录】超强总结,用心分享 | 人工智能常用数据可视化库 matplotlib 入门(1)
- Unity3D人物模型精选——迷你卡通风格篇
- 什么是微信小程序什么是小程序微信小程序有什么优势
- 快手 (kuaishou.net) 2.8 发布
- 沈阳市委书记邀请深兰科技赴沈建厂,助力东北振兴
- windows2012自动锁定计算机,如何去除 windows server 2012 r2 自动锁定
热门文章
- mysql count 1_MySQL中count(1)和count(*)的区别是什么?
- 解读 《The Curious Case of Neural Text Degeneration 》 论文 笔记
- VR时代的媒介——虚拟的真实感就是真实
- android 计时器服务,启动时使用计时器/alarmclock,更新服务_android_开发99编程知识库...
- 【周六福利来了~】优才安卓公开课:程序员到架构师之路
- printf中连续输出i++,--i,++i,i--的值如何
- 一文了解肠-器官轴,肠好身体好
- 在windows和Ubuntu配置OpenXXX客户端
- python爬斗鱼直播房间名和主播名,Python爬虫获取斗鱼主播信息
- 阿里云ECS云服务器--安装部署MySQL(图文)