LinuxSir.cn,穿越时空的Linuxsir!

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

如何截取文件,dd也有发挥不了效用的时候

[复制链接]
发表于 2010-8-12 19:54:29 | 显示全部楼层 |阅读模式
我想从特定位置载取文件,所以我用dd命令。比如,我现在要从1000字节偏移处取得一个文件 的前后两部分:
dd if=in.dat bs=1000 count=1 of=head.dat
dd if=in.dat bs=1000 skip=1 of=tail.dat

但是,问题出现在,tail.dat的输出和in.dat完全一样,而不是我想要的从1000字节依稀处剩下的部分。我试了,如果bs的设置是512的倍数,它工作完全正常。现在可能是dd的问题,我的系统是 Debian Squeeze.可能只是我这个发行版里面的dd的问题。
如果我不能用dd解决我的问题,请问还有没有其它的程序可以做到这样的事情?谢谢
发表于 2010-8-12 20:56:07 | 显示全部楼层
写个简单的C程序,先OPEN,再设置OFFSET,再读
回复 支持 反对

使用道具 举报

发表于 2010-8-14 18:57:15 | 显示全部楼层
Post by liwangli;2108030
写个简单的C程序,先OPEN,再设置OFFSET,再读


这个方法好,
回复 支持 反对

使用道具 举报

发表于 2010-8-20 07:20:30 | 显示全部楼层
$ echo 'hello world' > a
$ dd if=a bs=3 count=1
hel1+0 records in
1+0 records out
3 bytes (3 B) copied, 4.1346e-05 s, 72.6 kB/s
$ dd if=a bs=3 skip=1
lo world
3+0 records in
3+0 records out
9 bytes (9 B) copied, 5.8878e-05 s, 153 kB/s
看,好的呀,hello world\n分成了hel和lo world\n
回复 支持 反对

使用道具 举报

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

本版积分规则

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