搬砖头

Knocking on Heaven's Door
posts - 34, comments - 6, trackbacks - 0, articles - 0

Linux下分割与合并文件的方法

Posted on 2008-11-11 11:25 生活在别处 阅读(3898) 评论(0)  编辑  收藏 所属分类: Unix
切割合并文件在linux下用split和cat就可以完成。下面举些实例进行说明。
1.文件切割
文件切割模式分为两种:
     文本文件
     二进制模式。
1.1文本模式
文本模式只适用于文本文件,用这种模式切割后的每个文件都是可读的。文本模式又分为两种:
     按最大文件大小切割;
     按文本行数切割。
1.1.1最大文件大小切割
split -C 5k duanxin split
将文本文件duanxin按每块最大5k的大小进行切割,不打碎行。输出文件名类似splitaa, splitab……
1.1.2 按文本行数切割
split -l 100 duanxin split
每个分块100行,不考虑大小。日志分析时应该有用。
1.2 二进制模式
split -b 5k duanxin split
每个分块(当然,最后一个不保证)大小都是5k,基本不可读。任何类型文件都可以用这种切割模式。
2.文件合并
cat split* >newduanxin
不管用什么方式切割,合并方法不变。
3.其它
split可以用-a选项指定输出文件名的长度。如
split -l 100 -a 3 duanxin split
则输出文件出类似于splitaaa,splitaab。不指定时默认为2。
用-b或-C指定分块大小时,可用的单位有,b for 512bytes, k for 1Kbytes, m for 1 Megbytes.

参考资料
man split
-----------------------------------------------------------
找东西的时候发现网上都是讲这个的,就随手贴一下,据说分割还可以用DD命令
我的需求用split好像是搞不定的,希望从文本的指定行数进行分割,最终找到一个方法,见下:
sed -n '1001,2000p' ur-file >newfile
随后就发现,sed超级有用,有兴趣的自己了解吧,附送一个介绍sed用法的文章:

只有注册用户登录后才能发表评论。


网站导航: