[PERL] Extraction de chaine

Résolu
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

  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
    1. 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