1

有一个简单的文本文件必须使用日志解析器进行解析。刚开始使用日志解析器,但不了解它的解析限制是什么。我的意思是我可以通过使用 logparser 来做这样的事情吗

要解析的 TextLine:

1022303名称WXP3

我必须像这样解析

第一个数字1是行名
接下来的三个数字022是errorNumber
接下来的三个数字303是UserID
接下来的十个字符Name是UserName
接下来的4个字符WXP3是SystemName

我无法理解我们是否可以从日志解析器中执行此查询...如果是,请提供任何示例查询。

任何其他执行此操作的工具都是最受欢迎的

4

1 回答 1

5

您需要 SUBSTR 函数。

logparser -i:textline "select substr(text, 0, 1) AS RowName, substr(text, 1, 3) AS ErrorNumber, substr(text, 4, 3) AS UserId, substr(text, 7, 10) AS UserName, substr(text, 17, 4) AS SystemName from temp.txt

这假设长度确实设置为特定大小。

上面使用的 temp.txt 文本:

1022303Name1     WXP3
1022303Name 2    WXP4
1022303Name 3    WXP5
1022303Name 4    WXP6
1022303Name 5    WXP7
1022303Name 6    WXP8
1022303Name 7    WXP9
1022303Name 8    WXPa

由于之前已链接到它,因此我还将向您指出我“运行”的Log Parser Plus,并且可能对其他日志解析器功能有所帮助。

于 2011-05-11T12:16:06.110 回答