Re: Suppression de bloc dans un fichier de configuration

トップ ページ

このメッセージに返信
著者: marc.terrier
日付:  
To: Dominique Fournier
CC: guilde
題目: Re: Suppression de bloc dans un fichier de configuration
Salut Dom,

Si tu veux que sed s'arrête la première fois qu'il trouve la marque de fin de ce qui t'intéresse, l'idée, c'est de faire en sorte qu'il ne soit pas trop gourmand, pas trop "greedy" (c'est le terme).

À partir de là (quand on connaît le terme kivabien), Google est ton ami : "sed turn off greedy" ou "sed non greedy".

http://compgroups.net/comp.unix.shell/regular-expressions-non-greedy/496948, par exemple.

Cdlt,

Marc

----- Mail original -----
De: "Dominique Fournier" <dominique@???>
À: guilde@???
Envoyé: Mercredi 13 Janvier 2016 16:51:20
Objet: Suppression de bloc dans un fichier de configuration

Bonjour

J'ai un fichier de configuration de la forme :
<IfUser user1>
Contenu
</IfUser>

<IfUser user2>
Contenu
</IfUser>

<IfUser user3>
Contenu
</IfUser>

Je souhaite supprimer le bloc concernant l'utilisateur "user2". 
Actuellement, je fais :
     sed -i "/<IfUser $util>/,/<\/IfUser>\n/d" fichier.conf


Mais cela ne fonctionne pas : cela efface depuis le debut du bloc user2
jusqu'à la fin du fichier.

Avez-vous une regex (ou une autre méthode simple) pour ne supprimer que
le bloc du milieu ?

Merci et bonne soirée

Dom