查找包含或不包含特定错误消息的日志文件
Hujiuxiang
・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
中,