Re: Suppression de bloc dans un fichier de configuration

トップ ページ

このメッセージに返信
著者: Romain Touzé
日付:  
To: Guilde ML
題目: Re: Suppression de bloc dans un fichier de configuration
Bonjour,

Solution 1 préconisée : utiliser un langage de script un peu plus
amical que Bash (Python, Perl, Ruby)
Solution 2 moins performante mais pure Bash / grep / sed: récupérer
les numéros de lignes avec grep -n, supprimer l'ensemble des lignes
avec sed.

Bon courage :-)

2016-01-14 8:44 GMT+01:00 Dominique Fournier <dominique@???>:
> 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@??? 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@???>
>> À: 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
>>
>




--
Romain Touzé