[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Petit souci avec 'sed'



David BERCOT a écrit, samedi 20 septembre 2008, à 21:52 :
> Bonjour,
> 
> Je voudrais juste faire un remplacement et, apparemment, j'ai un
> souci...
> J'ai eu beau essayer d'échapper d'autres caractères '.' ou ':', je
> n'arrive à rien...
> Si jamais quelqu'un avait une idée :
> # cat /etc/php5/apache2/php2.ini | sed s/\;include_path\ =\
> \".:\/usr/share/php\"/include_path\ =\ \".:\/usr/share/php\"/ sed: -e
> expression n°1, caractère 27: option inconnue pour `s'

Bon, tu  devrais « simplequoter »  la commande sed  pour la  protéger de
l'évaluation par  le shell ; si ton  but est bien de  supprimer le point
virgule initial,

 sed -e 's,;include_path = ".:/usr/share/php",include_path = ".:/usr/share/php",'

est plus lisible. Ton erreur vient  de l'oubli de protéger le slash dans
usr/share, et « s », le premier  caractère suivant, n'est pas une option
de la substitution...

Si le point est un vrai point, il vaut mieux le protéger :

 sed -e 's,;include_path = "\.:/usr/share/php",include_path = ".:/usr/share/php",'


> Merci d'avance.

de rien,
-- 
Jacques L'helgoualc'h


Reply to: