[PERL] Extraction de chaine

Résolu/Fermé
oleane - 26 juin 2012 à 17:47
 oleane - 27 juin 2012 à 16:29
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.

2 réponses

KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 84
Modifié par KuKrApOk59 le 27/06/2012 à 14:15
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]
1
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 !
0