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