Re: Suppression de bloc dans un fichier de configuration

Top Page

Reply to this message
Author: nt.guilde
Date:  
To: guilde
CC: guilde
Subject: Re: Suppression de bloc dans un fichier de configuration
> <IfUser user1>
> Contenu
> </IfUser>
>
> <IfUser user2>
> Contenu
> </IfUser>
>
> <IfUser user3>
> Contenu
> </IfUser>
>
> Je souhaite supprimer le bloc concernant l'utilisateur "user2".


$ sed '/^<IfUser user2>/,/^$/d' file

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


Ton erreur vient du "\n" ; sed traite les donne'es ligne par ligne, et
e'limine le "\n" ; ne trouvant pas de ligne avec un "\n", sed de'truit tout
jusqu'a` la fin du fichier. Donc :

$ sed -i "/<IfUser $util>/,/<\/IfUser>$/d" fichier.conf

Mais il reste une ligne vide de trop -- disgracieux.
-Nicolas