查找包含或不包含特定错误消息的日志文件

・1 分钟阅读

 $ for i in *.log; do grep OutOfMemo $i >/dev/null && echo $i oom || echo $i ok; done

说明

在这个例子中,我正在寻找一个包含或不包含OutOfMemoryError事件堆栈跟踪的日志文件的列表。

  • for i in *.log 在文件列表中循环,
  • 对于每个文件我运行grep,但是将输出重定向到/dev/null,因为我不需要它我只是想看到每个文件的"是或否"类型的摘要,
  • 如果找到匹配的行,grep将退出,否则将失败,使用模式 cmd && success || failure 在匹配的情况下,我回显文件名和文本"房间",否则为"行",

备注:

  • 使用grep -q相当于将输出重定向到/dev/null,但是,在所有系统中可能不支持,
  • grep -l可以用来列出匹配的文件,grep -l列出没有匹配的文件,但是,后者不存在于grep中,
Hujiuxiang profile image