如何使用unix从文件中提取特定字节
如何从二进制文件中的某些位置提取 12 字节块。
如果我想提取前 12 个字节,我可以做类似的事情
head -c12 file.bin>output
如果我想从 byte61 中提取 12 个字节,我可以做类似的事情
head -c72 file.bin|tail -c12 >output
如果我有 20 个 12 字节块我需要提取,有没有更简单的方法,
谢谢
how do I extract 12byte chunks from a binary file at certain positions within the file.
If I wanted to extract the first 12 bytes I could do something like
head -c12 file.bin>output
If I wanted to extract 12 bytes from byte61 I could do something like
head -c72 file.bin|tail -c12 >output
Is there a simpler way if I have something like 20 12byte chunks I need to extract
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
dd
:您可以编写一个shell循环来替换数字。
如果有很多工作要做或者需要非常快,您还可以考虑使用 awk、Perl 或 Python。
Use
dd
:You can write a shell loop to substitute the numbers.
You could also consider using
awk
, Perl or Python, if there's a lot of them to do or it needs to be really fast.使用 xxd:
3d
表示十六进制的61
使用 hexdump:
Using xxd:
3d
means61
in hexadecimalUsing hexdump: