在perl中搜索模式,如果number大于某个值,则打印

时间:2014-01-02 11:09:19

标签: regex perl

在日志目录中有多个文件。必须搜索xyz:之类的字符串,并在日志包含大于3000的数字时打印消息。

Example 'xyz:40000/my'

有人可以建议如何在perl中使用regEx来实现它。

if(/xyz:/)
{ 
  if(number next to xyz: is greater than 3000)
  { 
    print "Oh my god";
  }
}

我知道这是一个基本问题,但我是perl regEx的新手。任何指针都会有所帮助

1 个答案:

答案 0 :(得分:3)

您可以使用perl -n

在运行的脚本中尝试此代码段
if (/^xyz:([0-9]+)/)
{
    if ($1 > 3000)
    {
        print "Oh no!";
    }
}

您还可以打印整个违规行打印$_(或仅print,默认为当前行)。或者您甚至可以在命令行中的每一行中接受要搜索的模式等。