Sed variable contenant un /

Résolu
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

  1. Contributeur
    je ne comprends pas, supprime simplement :
    FRAQ=$(echo $client | sed 's/\///g')
    ou alors protège :
    FRAQ=$(echo $client | sed 's/\//\\\//g')
    1. 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'
      1. 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
        1. Contributeur
          la solution de leviathan quoi...