Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Petit souci avec 'sed'

5 réponses
Avatar
David BERCOT
Bonjour,

Je voudrais juste faire un remplacement et, apparemment, j'ai un
souci...
J'ai eu beau essayer d'=C3=A9chapper d'autres caract=C3=A8res '.' ou ':', je
n'arrive =C3=A0 rien...
Si jamais quelqu'un avait une id=C3=A9e :
# cat /etc/php5/apache2/php2.ini | sed s/\;include_path\ =3D\
\".:\/usr/share/php\"/include_path\ =3D\ \".:\/usr/share/php\"/ sed: -e
expression n=C2=B01, caract=C3=A8re 27: option inconnue pour `s'

Merci d'avance.

David.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

5 réponses

Avatar
Jacques L'helgoualc'h
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

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
David BERCOT
Le Sat, 20 Sep 2008 22:55:18 +0200,
Jacques L'helgoualc'h <lhh+ a écrit :
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 p our la protéger
de l'évaluation par le shell ; si ton but est bien de supprimer le
point virgule initial,



C'est bien le but ;-)

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



C'est bizarre car j'ai aussi testé en protégeant les autres slash es,
mais j'avais la même erreur...

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",'



Ta première version (sans protéger le '.') fonctionne. Alors pour quoi
changer ?

En tous cas, ça marche nickel !!!

Merci beaucoup.

David.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Kevin Hinault
>
Ta première version (sans protéger le '.') fonctionne. Alors pourquoi
changer ?




Parce que . correspond à n'importe quel caractère ce qui inclut aussi
le point ;)

J'ajoute - parce Jacques ne l'a pas expliqué et qu'on n'est jamais
trop informé ^^ - qu'il est possible d'utiliser n'importe quel
caractère de séparation autre que / et jacques a utilisé le , à la
place du / ce qui évite de d'échapper les / par exemple dans des
chemins.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Le 14142ième jour après Epoch,
David BERCOT écrivait:

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, les réponses t'ont permis d'avancer, tant mieux. Mais si tu
regardes ton expression, le 27ième caractère est le 'h' de
/usr/share.. car tu fais ton substitute avec comme séparateur le / et
tu ne quotes pas ceux du path que tu utilises... Pas très bon, tout ça
:)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
David BERCOT
Le Sun, 21 Sep 2008 01:12:32 +0200,
"Kevin Hinault" a écrit :
>
> Ta première version (sans protéger le '.') fonctionne. Alors
> pourquoi changer ?

Parce que . correspond à n'importe quel caractère ce qui inclut aussi
le point ;)



OK. Je comprends mieux ;-)

J'ajoute - parce Jacques ne l'a pas expliqué et qu'on n'est jamais
trop informé ^^ - qu'il est possible d'utiliser n'importe quel
caractère de séparation autre que / et jacques a utilisé l e , à la
place du / ce qui évite de d'échapper les / par exemple dans des
chemins.



Merci pour ces compléments...

David.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact