可能重复:
Searching a log file
我可以输入二进制文件或我拥有的文本文件,并搜索多个十六进制值的模式。
在我的文本文件中查看了什么:
0x000001A0:36 5B 09 76 99 31 55 09 78 99 34 51 49 BF E0 03
0x000001B0:28 0B 0A 03 0B E0 07 28 0B 0A 03 0B 49 58 09 35
例如:我希望能够找到模式'49 BF E0 03 28 0B 0A',它跨越上面的第1行和第2行,但由于0x000001B0,我不能只定期搜索它:行的开头
以上是文本文件中的内容。
问题是,如果它是二进制文件我不知道我在文件中的位置,就好像我在文本文件中一样,我知道我在哪个位置(这是必要的)。
需要自由。
答案 0 :(得分:4)
你不需要使用emacs,因为vim可以为你做(我说这是因为你标记了这个vim,而不是开始一场火焰战争。)
要在vim中执行此操作,请在vim中打开二进制文件并键入以下内容:
:%!xxd
这将过滤文件并转换为十六进制模式。所以当你打开时看起来像这样:
Êþº¾^@^@^@^B^@^@^@^R^@^@^@^@^@^@^P^@^@^@L0^@^@^@^L^@^@^@^G^@^@^@^C^@^@`^@^@^@
^@^@^L^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
将显示为
0000000: cafe babe 0000 0002 0000 0012 0000 0000 ................
0000010: 0000 1000 0000 4c30 0000 000c 0000 0007 ......L0........
0000020: 0000 0003 0000 6000 0000 494c 0000 000c ......`...IL....
运行该命令时。要在完成编辑后转换回二进制形式,请键入:
:%!xxd -r
答案 1 :(得分:0)
我诚实地推荐Emacs:你可以打开文件,然后去 Meta-X hexl-mode ,并有一个漂亮的十六进制模式视图。