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: