我希望有人可以帮我解决文件刻录问题。 我想在原始格式(.dd)的图像文件中找到文件头和对应的页脚作为十六进制值。
对于其他页眉和页脚,我的脚本运行良好但不适用于JPG文件的页眉和页脚: FFD8和FFD9 以下是我目前的处理方式:
grep -obUaP" \ xFF \ xD8" image_file.dd
我希望找回搜索到的字符串页眉和页脚的帖子的偏移量,以便稍后用dd提取它们。 我将图像文件作为带有grep的二进制文件处理。
例如,当我使用此模式在图像中查找 JFIF 时,我会发现很多匹配项:
grep -obaUP" \ x4A \ x46 \ x49 \ x46" image_file.dd
但没有FFD8!
所以有人能够给我一个提示,为什么我无法找到这些简单的十六进制值?
答案 0 :(得分:1)
Man grep说:
使用-a或设置LC_ALL ='C'会很有帮助 环境,以便找到更多匹配,即使匹配对于直接显示是不安全的
所以,试试:
LC_ALL=C grep -obUaP "\xFF\xD9" file
脚本中的使用上面的内容,与命令行完全相同,只需在grep
命令前加上LC_ALL=C
,就像上面一样。