Sed variable contenant un /

Résolu/Fermé
rOsh - 8 juin 2011 à 12:04
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 8 juin 2011 à 16:31
Bonjour,

J'aimerais sed une variable pouvant contenir des / :

client=machin/truc
echo "monmot" | sed "s/monmot/$client/g"

Ne fonctionne pas quand un / est compris dans client


J'ai essayé de sed client via :

client=machin/truc
FRAQ=$(echo $client | sed 's/\///g')
echo "monmot" | sed "s/monmot/$FRAQ/g"


Ca me supprime le / mais j'aimerais le garder...

COmment proceder ?

Merci bcp !

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
8 juin 2011 à 12:20
je ne comprends pas, supprime simplement :
FRAQ=$(echo $client | sed 's/\///g')
ou alors protège :
FRAQ=$(echo $client | sed 's/\//\\\//g')
0
Leviathan49 Messages postés 257 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 22 juillet 2011 70
Modifié par Leviathan49 le 8/06/2011 à 12:55
Sinon le délimiteur de sed n'est pas obligatoirement un '/' tu peux le remplacer par un autre caractère sans souci, exemple avec | :
echo 'test //1//12/' | sed 's|/||g'
0
Je ne vois pas les réponses ?
0
Hannn, je vais essayer ca :
http://www.commentcamarche.net/forum/affich-5117381-sed-et-variable-contenant-un-slach


Ok c'est bon.

Solution :

client=machin/truc
echo "monmot" | sed "s§monmot§$client§g"

client/truc


En espérant que personne ne mettra de § dans ma var :D
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
8 juin 2011 à 16:31
la solution de leviathan quoi...
0