Estou tentando descobrir como implementar uma pesquisa "AND" de padrões múltiplos em um arquivo. Basicamente, o aplicativo deve fazer algo somente quando TODOS os 3 padrões estiverem presentes em /var/log/messages
Isso funcionará, mas use " OR ":
awk '/writeback error on sector/ || /blk_update_request: I\/O error/ || /xfs_do_force_shutdown/' /var/log/messages
Aparentemente isso não funciona:
awk '/writeback error on sector/ && /blk_update_request: I\/O error/ && /xfs_do_force_shutdown/' /var/log/messages
O que eu preciso é algo como:
- Verifique /var/log/messages
- Se TODOS os 3 padrões estiverem presentes nas mensagens, faça algo
Se possível, usando grep, onde posso usar "-f patterns" para usar um arquivo externo onde o usuário pode adicionar outros padrões
Alguém poderia me dar um conselho? Obrigado Lucas
Ou para a lista de expressões regulares a serem lidas de um arquivo:
(não testado).