Sed, rechercher le premier argument

Résolu
gunbol Messages postés 52 Statut Membre -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai une log, avec le format suivant:

blablabla(HOST=ce_que_je_cherche)blablabla(HOST=ce_que_je_ne_veux_pas)blablabla

J'arrive avec un sed à ramener le pattern ce_que_je_ne_veux_pas, mais je n'arrive pas à récupérer ce-que-je-veux)

Ma commande est la suivante:

echo "blablabla(HOST=ce_que_je_cherche)blablabla(HOST=ce_que_je_ne_veux_pas)blablabl" | sed 's/.*HOST=\([^)]*\).*/\1/g'

Pouvez vous m'aider ?

Merci d'avance.

Gunther
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Ton 1er .* avale tout jusqu'au 2ème HOST

    Je n'ai pas testé (donc j'oblige le moteur de trouver un 2ème HOST).
    Tu as une paranthèse fermante qui fini ce que tu cherche, il faut l'utiliser pour delimiter. Je ne sais pas commetn se comporte sed
    sed 's/.*HOST=\([^)]*\)).*HOST.*/\1/g' 
    1
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Salut,

      C'est nickel, à part le "g" qui ne sert à rien ;-))
      0
      1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Salut et merci ;-)

        Ben, pour le g, j'ai fait un copier/coller ;-)))
        0
      2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
         
        En tant que bon Perlien, c'est de bon aloi ;-))
        0