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