6
如何从文件中某些位置的二进制文件中提取12byte块。如何使用unix从文件中提取特定字节
如果我想提取前12个字节我可以做类似
head -c12 file.bin>output
如果我想提取byte61我可以做类似
head -c72 file.bin|tail -c12 >output
12个字节有没有更简单方式如果我有像20 12byte块我需要提取
谢谢
如何从文件中某些位置的二进制文件中提取12byte块。如何使用unix从文件中提取特定字节
如果我想提取前12个字节我可以做类似
head -c12 file.bin>output
如果我想提取byte61我可以做类似
head -c72 file.bin|tail -c12 >output
12个字节有没有更简单方式如果我有像20 12byte块我需要提取
谢谢
使用dd
:
dd bs=1 seek=60 count=12 if=file.bin of=output
你可以写一个shell循环来替代数字。
你也可以考虑使用awk
,Perl或Python,如果有很多事情要做或者它需要非常快。
使用XXD:
xxd -p -seek 3d -l 12 file.bin > output
3d
指以十六进制
61
使用hexdump都:
hexdump -ve '16/1 "%0.2x " "\n"' -s 3d -n 12 file.bin > output
的Linux上的coreutils 8.13是** **跳过,而不是** iseek * *:'dd bs = 1 skip = 60 count = 12 if = file.bin of = output' – 2012-05-19 08:01:28
+1 Great =)Unix和Linux中的事情非常简单 – Viet 2012-10-25 06:02:19