linux下分割文件
来源:互联网 发布:java final和static 编辑:程序博客网 时间:2024/06/17 21:49
from:http://blog.sina.com.cn/s/blog_4dd4753901017jwj.html
linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。
在Linux下用split进行文件分割:
模式一:指定分割后文件行数
对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割。
命令:split -l 300 large_file.txt new_file_prefix
模式二:指定分割后文件大小
对二进制文件我们同样也可以按文件大小来分隔。
在Linux下用cat进行文件合并:
命令:cat small_files* > large_file
说明:
本文采用一个50M大小的日志文件进行测试。日志文件名:log.txt.gz。
文件行数:208363
方法1:(split分割)
语法:split [-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
# wc -l log.txt
# split -l 120000 log.txt newlog
# du -sh *50M
29M
22M
# 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
#dd bs=20480 count=1500 if=log.txt of=newlogaa
#dd bs=20480 count=1500 if=log.txt of=newlogab skip=1500
newlogaa: ASCII text, with very long lines, with CRLF line terminators
newlogab: ASCII text, with very long lines, with CRLF line terminators
#gzip log.txt.gz
#wc -l log.txt
208363 log.txt
# head -n `echo $((208363/2+1))` log.txt > newloga.txt
#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下分割文件和合并文件
- Linux下平均分割大文件
- linux下分割和重组文件
- linux下tomcat7 catalina.out 文件分割
- linux 下tar 打包分割文件和解压文件
- Linux下大文件分割和小文件合并
- Linux系统下使用split命令分割大文件.txt
- Linux下分割与合并文件的方法
- Linux下分割、合并文件——dd和cat
- linux 下用split/cat 来分割合并文件
- linux下解压被分割的zip文件
- Linux下分割与合并文件的方法
- linux下使用split 来分割大文件
- Linux下分割、合并文件——dd和cat
- Linux下分割、合并文件——dd和cat
- JVM基础概念总结:数据类型、堆与栈
- 大型网站架构改进历程:存储的瓶颈(6)
- HTML5中id、name、class 区别
- HYSBZ 1026 windy数 数位dp
- 可拖动拉伸的左右分栏效果
- linux下分割文件
- 【Python】Windows下安装Dpark
- NsArray数组NsDictionary集合小结
- nvarchar转number
- N-gram语言模型文本分类器
- 浅析Spring框架下PropertyPlaceholderConfigurer类
- JAVA 基本数据类型长度
- 为数据库生成表的改动日志
- spring mvc使用ehcache