Perl中的Regex用于过滤Webmin日志

时间:2013-04-01 20:42:43

标签: regex perl

我需要使用Perl正则表达式从仅与webminInvalid login as root from匹配的安全日志中过滤以下行:

Apr 2 00:24:53 host webmin[98614]: Invalid login as root from 1.2.3.4

我尝试了这个,但它无法匹配:

$line =~ /^\S+\s+\d+\s+\S+ \S+ webmin[\]: \Invalid login as root from/)

我在这里缺少什么?

1 个答案:

答案 0 :(得分:3)

  • [是角色类的开头。你想要按字面意思匹配,所以你需要逃避它。
  • 您永远不会与98614部分匹配。
  • \I应该只是I\I甚至会给你一个警告。

/^\S+\s+\d+\s+\S+ \S+ webmin\[\d+\]: Invalid login as root from/