c++ - 搜索日志文件

标签 c++ excel search vim

<分区>

Possible Duplicate:
Searching using Regex in VIM or elsewhere

我在一个巨大的 ~600 Mb 文件中搜索一个长度为 7 个十六进制值的特定模式。问题是

  1. “模式”可以在下一行并且
  2. 有几条地址线。

我通过删除所有回车符来解决问题 1,但我仍然面临即使值在下一行我也不知道如何搜索地址行的问题。下面是一个例子:
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: 任何建议或 c++ 代码或 excel 想法都会有所帮助。我目前正在使用 VIM 打开这个大文件,使用 excel 无法打开整个文件。

最佳答案

Python,只需按行读取、拆分、删除第一部分、将十六进制连接成字符串,然后进行搜索。这样的事情会起作用:

hex = ""
for each line in lines:
    tmp = line.split() // split on whitespace
    hex += tmp[1:] // grab everything after address

if hex.contains(pattern):
    # do something

或者使用正则表达式,但您已经了解了基本概念。

关于c++ - 搜索日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6413361/

相关文章:

python - 有没有办法将函数参数用作同一函数的另一个参数?

excel - 如何在不索引的情况下删除突出显示的单元格?

excel - 找到 Mr & Mrs 时插入额外的行,然后将数据复制到空白行

c++ - Clang 不会注意到默认模板参数

c++ - 我们可以在 C++ 中重新分配引用吗?

excel - Java 开源库从 excel 中生成数据透视表

delphi - 计算给定路径的子目录数

使用 Vim 中先前定义的关键字进行搜索

c++ - 在同一个线程中多次锁定 CCriticalSection 是好习惯吗?

c++ - 为什么获取成员函数指针值需要在类内部进行类名限定?