Sed, rechercher le premier argument

Résolu
gunbol Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   -  
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

1 réponse

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

C'est nickel, à part le "g" qui ne sert à rien ;-))
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > 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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896 > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
En tant que bon Perlien, c'est de bon aloi ;-))
0