LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 942|回复: 4

linux下文件的切割与合并

[复制链接]
发表于 2006-10-10 11:23:44 | 显示全部楼层 |阅读模式
原文地址:http://herofit.blogspot.com/2006/10/linux_10.html


切割合并文件在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
发表于 2006-10-10 22:30:36 | 显示全部楼层
这个要顶一下
回复 支持 反对

使用道具 举报

发表于 2006-10-11 09:28:37 | 显示全部楼层
实验了一下,还不错。。。谢谢分享!
回复 支持 反对

使用道具 举报

发表于 2006-10-11 19:28:14 | 显示全部楼层
补充一个, 也可以用 dd 干这样的事, 而且 dd 也可以指定 block 块大小, 同时可以用 conv=swab 颠倒顺序. 再把 mp3 文件头插到前面, 呵呵.
回复 支持 反对

使用道具 举报

发表于 2006-10-11 20:27:14 | 显示全部楼层
很少切割...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表