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