系统日志需要Perl RegEx

时间:2015-11-10 15:03:22

标签: regex perl

我正在尝试将所有内容以粗体分组到解析器中。如何处理多个句子并确保它们组合在一起?

  

5/1/2013 9:43:00 INFO主要身份验证

     

用户“admin”尝试使用身份验证器进行身份验证   Token_Auth”。       用户属于安全域“SystemDomain.Default”
  成功AUTHN_METHOD_SUCCESS身份验证方法成功     company.admin公司管理员wsnc1_2.def.comp.net
  SystemDomain.default

1 个答案:

答案 0 :(得分:0)

基于您的一个示例(保证所有其他示例都失败),我会执行以下操作:

  1. 将您的日志条目标记为
  2. 删除前三个令牌
  3. 删除您想要的最后一个标记后的所有内容
  4. 说明性脚本:

    use strict;
    use warnings;
    
    while(<DATA>)
    {
        my @line = split;
        splice(@line, 0,3);
        my $line = join(' ', @line);
        $line =~ s/Success.*//;
        print $line;
    }
    exit(0);
    
    __DATA__
    5/1/2013 9:43:00 INFO Principal authentication User "admin" attempted to authenticate using authenticator Token_Auth". The user belongs to security domain "SystemDomain.Default" Success AUTHN_METHOD_SUCCESS Authentication method success company.admin company Admin wsnc1_2.def.comp.net SystemDomain.default
    
相关问题