例如 文件内容为:
123456
78
使用什么命令能把34这两个字符切出来,即提供一个偏移和一个size,输出需要的内容。
10 个解决方案
#1
就这个文件,用sed就可以
sed -n '1s/..\(..\).*/\1p' urfile
sed -n '1s/..\(..\).*/\1p' urfile
#2
这个文件 只是一个例子
需要的是对任意文件(包括二进制文件),提取从某个offset开始的size个字节的数据。
我记得有个这样的命令,但是忘记了,高人指点下吧。
需要的是对任意文件(包括二进制文件),提取从某个offset开始的size个字节的数据。
我记得有个这样的命令,但是忘记了,高人指点下吧。
#3
echo "0123456789" | head -c 8 | tail -c 2
#4
二进制文件同样适用
$ printf "\001\002\003\004" | head -c 3 | tail -c 2 | od -t x1
0000000 02 03
0000002
$ printf "\001\002\003\004" | head -c 3 | tail -c 2 | od -t x1
0000000 02 03
0000002
#5
我那也是个例子。
这样的命令有, 就是dd
#6
对,用dd
dd if=source of=dest bs=1 skip=10 count=20
skip后面就是跳过的字节,count后面是拷贝的字节
dd if=source of=dest bs=1 skip=10 count=20
skip后面就是跳过的字节,count后面是拷贝的字节
#7
收藏此帖,日后有用!
#8
用split命令,先把文件拆分为多个小文件,然后用cat就可以了。
拆分文件大小为1k,也可以是1b,或者1m之类的单位
split -b 1kb /tmp/file sfile
会依次得到sfilea,sfileb,......
拆分文件大小为1k,也可以是1b,或者1m之类的单位
split -b 1kb /tmp/file sfile
会依次得到sfilea,sfileb,......
#9
学习了
#10
学习~~~
#1
就这个文件,用sed就可以
sed -n '1s/..\(..\).*/\1p' urfile
sed -n '1s/..\(..\).*/\1p' urfile
#2
这个文件 只是一个例子
需要的是对任意文件(包括二进制文件),提取从某个offset开始的size个字节的数据。
我记得有个这样的命令,但是忘记了,高人指点下吧。
需要的是对任意文件(包括二进制文件),提取从某个offset开始的size个字节的数据。
我记得有个这样的命令,但是忘记了,高人指点下吧。
#3
echo "0123456789" | head -c 8 | tail -c 2
#4
二进制文件同样适用
$ printf "\001\002\003\004" | head -c 3 | tail -c 2 | od -t x1
0000000 02 03
0000002
$ printf "\001\002\003\004" | head -c 3 | tail -c 2 | od -t x1
0000000 02 03
0000002
#5
我那也是个例子。
这样的命令有, 就是dd
#6
对,用dd
dd if=source of=dest bs=1 skip=10 count=20
skip后面就是跳过的字节,count后面是拷贝的字节
dd if=source of=dest bs=1 skip=10 count=20
skip后面就是跳过的字节,count后面是拷贝的字节
#7
收藏此帖,日后有用!
#8
用split命令,先把文件拆分为多个小文件,然后用cat就可以了。
拆分文件大小为1k,也可以是1b,或者1m之类的单位
split -b 1kb /tmp/file sfile
会依次得到sfilea,sfileb,......
拆分文件大小为1k,也可以是1b,或者1m之类的单位
split -b 1kb /tmp/file sfile
会依次得到sfilea,sfileb,......
#9
学习了
#10
学习~~~