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