【发布时间】:2011-09-18 19:02:29
【问题描述】:
我正在为 7 个十六进制值长的特定模式搜索一个巨大的 ~600 Mb 文件。问题是
- “模式”可能在下一行,并且
- 有几条寻址线。
我摆脱了所有的回车,摆脱了问题 1,但即使值在下一行,我仍然面临着我不知道如何搜索地址行之外的问题。下面是一个例子:0x000001A0: 36 5B 09 76 99 31 55 09 78 99 34 51 49 BF E0 030x000001B0: 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:建议或 c++ 代码或 excel 想法会有所帮助。我现在用vim打开这个大文件,用excel打不开整个文件。
【问题讨论】:
-
你想用它做什么?如果您只想查看它,我认为任何开源十六进制查看器都将具有按十六进制功能进行搜索。如果您想在 c++ 脚本中对其进行处理,那就另当别论了。
-
如果您正在运行 windows,只需在终端或 cygwin 中 grep?
-
一个 C++ 程序一次读取一行,跳过地址,然后搜索该行加上前一行似乎并不难写。你试过了吗?
-
@AJG85
grep是否有办法在文本可以与中间的其他任意文本越界时进行搜索? -
我只想看看它。然后从那里遍历那个模式,直到我找到我需要的东西