Sed variable contenant un /

Résolu
rOsh -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 299
 
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   Statut Membre Dernière intervention   70
 
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
rOsh
 
Je ne vois pas les réponses ?
0
rOsh
 
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   Statut Contributeur Dernière intervention   1 299
 
la solution de leviathan quoi...
0