正则表达式来识别日志中的失败

时间:2017-02-26 05:36:30

标签: regex shell

我有一个日志文件。我想扫描字符串

的出现次数

“RC = x” 如果有> = 1,一次出现RC = 0不是TRUE,那么我想把它标记为失败

我可以将其作为shell函数吗?

1 个答案:

答案 0 :(得分:1)

您可以使用grep:

grep -q "RC = [^0]" logfile && {
  echo "Logfile is a failure"
  other commands
  exit
}

-qgrep置于静默模式:无输出,[^0]匹配RC的任何非零值。如果未找到匹配项,Grep将返回失败状态,如果没有,则返回成功状态。 &&是有条件的"和"因此,如果RC有任何非零值,则grep将成功,测试失败。

或者,您可以将grep放入if语句中。在这种情况下:

if grep -s "RC = [^0]" logfile
then
  echo "Logfile is a failure"
else
  echo "Logfile is a success"
fi

有关更多grep选项,请参阅man grep