En utilisant grep tu pourrais arriver à tes fins :
grep "Password mismatch" dovecot.log | grep -o "contact,[^)]*" | sed 's/contact,//'
Cela sélectionne toutes les lignes contenant "Password mismatch" et extrait la sous-chaîne "contact,122.184.124.78", et en dernier sed élimine "contact," pour ne garder que l'adresse IPv4.
Le truc est de cibler la sous-chaîne "contact,122.184.124.78" qui est entre parenthèses. grep récupère tous les caractères après la virgule, sauf pour la parenthèse fermante. Potentiellement, cela devrait aussi fonctionner pour une adresse IPv6.
Bien sûr c'est à valider avec un fichier de log complet.
# À tester...
Posté par Ellendhel (site web personnel) . En réponse au message Regex pour dovecot auth pam. Évalué à 4.
En utilisant grep tu pourrais arriver à tes fins :
grep "Password mismatch" dovecot.log | grep -o "contact,[^)]*" | sed 's/contact,//'
Cela sélectionne toutes les lignes contenant "Password mismatch" et extrait la sous-chaîne "contact,122.184.124.78", et en dernier sed élimine "contact," pour ne garder que l'adresse IPv4.
Le truc est de cibler la sous-chaîne "contact,122.184.124.78" qui est entre parenthèses. grep récupère tous les caractères après la virgule, sauf pour la parenthèse fermante. Potentiellement, cela devrait aussi fonctionner pour une adresse IPv6.
Bien sûr c'est à valider avec un fichier de log complet.