105 votes

Comment échapper aux barres obliques et aux guillemets doubles et simples dans sed ?

D'après ce que j'ai pu constater, lorsque vous utilisez des guillemets simples, tout ce qui se trouve à l'intérieur est considéré comme littéral. C'est ce que je veux pour ma substitution. Mais je veux aussi trouver une chaîne qui a des guillemets simples ou doubles.

Par exemple,

sed -i 's/"http://www.fubar.com"/URL_FUBAR/g'

Je veux remplacer "http://www.fubar.com" par URL_FUBAR. Comment sed est-il censé reconnaître mon // ou mes doubles guillemets ?

Merci de votre aide !

EDIT : Puis-je utiliser s/\"http\:\/\/www\.fubar\.\com\"/URL_FUBAR/g ?

Est-ce que \N- les caractères à l'intérieur des guillemets simples sont réellement échappés ?

-9voto

Il s'agit peut-être du caractère "\", essayez celui-ci :

sed 's/\"http:\/\/www.fubar.com\"/URL_FUBAR/g'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X