我正在尝试弄清楚如何在文件中实现多个模式“AND”搜索。基本上,只有当所有 3 个模式都存在于 /var/log/messages 中时,应用程序才应该执行某些操作
这将起作用,但要使用“ OR ”:
awk '/writeback error on sector/ || /blk_update_request: I\/O error/ || /xfs_do_force_shutdown/' /var/log/messages
这显然不起作用:
awk '/writeback error on sector/ && /blk_update_request: I\/O error/ && /xfs_do_force_shutdown/' /var/log/messages
我需要的是类似这样的内容:
- 检查 /var/log/messages
- 如果消息中存在所有 3 种模式,则执行某些操作
如果可能的话使用 grep我可以使用“-f patterns”来使用外部文件,用户可以在其中添加其他模式
有人能给我一些建议吗?谢谢 Lucas
或者从文件中读取正则表达式列表:
(未经测试)。