gpt4 book ai didi

bash - 在二进制定界符上拆分二进制文件?

转载 作者:行者123 更新时间:2023-12-04 16:16:49 25 4
gpt4 key购买 nike

我正在编写一个 shell 脚本,用于将 MPO 立体 3D 图像转换为标准 JPEG 图像。 MPO 文件只是两个 JPEG 图像,连接在一起。

因此,您可以通过找到第二个 JPEG 的魔数(Magic Number) header (0xFFD8FFE1) 的字节偏移量来拆分 JPEG 文件。我已使用 hexdump/xxd、grep、head 和 tail 手动完成此操作。

这里的问题是 grep:我可以使用什么来直接在二进制文件中搜索特定的魔数(Magic Number),并取回字节偏移量?还是我根本不应该为此使用 shell 脚本?谢谢。

最佳答案

您可以使用 bbe ( http://bbe-.sourceforge.net/ ) 来执行此操作,它是一个用于二进制文件的类似 sed 的程序:

为了提取第一个 JPEG 使用:

bbe -b '/\xFF\xD8\xFF\xE1/:' -e 'D 2' -o first_jpeg mpo_file

第二个:

bbe -b '/\xFF\xD8\xFF\xE1/:' -e 'D 1' -o second_jpeg mpo_file

请注意,如果 JPEG 的魔数(Magic Number)出现在 MPO 文件的其他地方,这将不起作用。

关于bash - 在二进制定界符上拆分二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3652482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com