Re: Suppression de bloc dans un fichier de configuration

Page principale

Répondre à ce message
Auteur: Dominique Fournier
Date:  
À: ML Guilde
Sujet: Re: Suppression de bloc dans un fichier de configuration
Et je n'avais même pas reconnu le XML...

Fatigué le Dom.

Merci

Dom

Le 14/01/2016 09:57, Pier B. a écrit :
> Bonjour,
>
> Tiens c'est peut-être ma première contribution a cette liste que je suis
> depuis pas mal de temps maintenant !
>
> En règle générale : On ne parse pas du xml / html / *ml en shell / sed /
> awk, parceque ca ne marche tout simplement pas ! La preuve avec ce genre
> de problème.
>
> De nombreux xml parser existe, très certainement pour ta distrib',
> j'utilise celui-ci quand j'en ai besoin : xmlstarlet
> <http://xmlstar.sourceforge.net/>
>
> Si tu as besoin d'info sur son utilisation n'hésite pas à demander.
>
> Pour sed le site le plus complet : http://www.grymoire.com/Unix/Sed.html
>
> Et en regle générale pour bash, mes 2 sites de références :
> http://mywiki.wooledge.org/BashFAQ
> http://wiki.bash-hackers.org/
>
>
> Bonne journée !
>
> Le 14 janvier 2016 à 08:44, Dominique Fournier <dominique@???
> <mailto:dominique@fournier38.fr>> a écrit :
>
>     Bonjour Marc

>
>     En effet, et on voit dans les docs que sed ne supporte pas le mode
>     Ungreedy. Je m'attendais à un /U comme en PHP, mais cela ne
>     fonctionne pas.

>
>     Snif !

>
>     Merci de ta recherche !

>
>     Dom

>
>     Le 13/01/2016 21:52, marc.terrier@???
>     <mailto:marc.terrier@free.fr> a écrit :

>
>         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@???
>         <mailto:dominique@fournier38.fr>>
>         À: guilde@??? <mailto:guilde@guilde.asso.fr>
>         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

>
>
>