Sed variable contenant un /

Résolu
rOsh -  
Char Snipeur Messages postés 10112 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

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    je ne comprends pas, supprime simplement :
    FRAQ=$(echo $client | sed 's/\///g')
    ou alors protège :
    FRAQ=$(echo $client | sed 's/\//\\\//g')
    0
  2. Leviathan49 Messages postés 267 Statut Membre 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
  3. 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
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      la solution de leviathan quoi...
      0