[PERL] Extraction de chaine
Résolu
oleane
-
oleane -
oleane -
Bonjour,
Un petit problème tout simple pour les experts du Perl : j'ai une chaine de caractère du genre :
...blablablabla=Authenticationbrowser_ip_address=93.21.22.163,blabla=AA,...
Je cherche à extraire l'adresse IP, donc quelque chose qui est toujours entre "Authenticationbrowser_ip_address=" et ","
J'ai essayer ceci, mais cela ne fonctionne pas :
echo "...blablablabla=Authenticationbrowser_ip_address=93.21.22.163,blabla=AA,..." | perl -ne 'print $1 if (/Authenticationbrowser_ip_address=(.*?),/)'
Il faut que cela fonctionne en ligne de commande Bash.
Quelqu'un à t-il une idée ? Je ne suis pas loin je pense...
Merci.
Un petit problème tout simple pour les experts du Perl : j'ai une chaine de caractère du genre :
...blablablabla=Authenticationbrowser_ip_address=93.21.22.163,blabla=AA,...
Je cherche à extraire l'adresse IP, donc quelque chose qui est toujours entre "Authenticationbrowser_ip_address=" et ","
J'ai essayer ceci, mais cela ne fonctionne pas :
echo "...blablablabla=Authenticationbrowser_ip_address=93.21.22.163,blabla=AA,..." | perl -ne 'print $1 if (/Authenticationbrowser_ip_address=(.*?),/)'
Il faut que cela fonctionne en ligne de commande Bash.
Quelqu'un à t-il une idée ? Je ne suis pas loin je pense...
Merci.
2 réponses
-
Salut,
je viens de tester la ligne que tu as citée.
De mon côté, j'ai bien le résultat attendu :
lord@Bender:~$ echo "...blablablabla=Authenticationbrowser_ip_address=93.21.22.163,blabla=AA,..." | perl -ne 'print $1 if (/Authenticationbrowser_ip_address=(.*?),/)' 93.21.22.163
Quel est le point bloquant de ton côté ?
Si vous avez votre réponse, pensez à spécifier : [Résolu] -
Oui.... effectivement ! je testais avec ceci :
tail -f fichier.log | perl -ne 'print $1 if (/Authenticationbrowser_ip_address=(.*?),/)'
et la ça ne fonctionne pas !
Mais bon, je viens aussi de tester, avec un echo ça fonctionne, donc ma syntaxe est bien correcte ! Ouf !
Merci !