Forum Programmation.shell Substitution en bash

Posté par  .
Étiquettes : aucune
0
24
août
2007
Bonsoir,

J'ai un chaîne de caractères du type :
/un chemin/vers un/fichier
dans la variable FILE

et je souhaiterais en faire :
/un\ chemin/vers\ un/fichier
et le mettre de FILE2

Je ne comprends pas pourquoi
FILE2=${FILE/ /\\ /}

me renvoie :
FILE2=${FILE/ /\\ /}

Si quelqu'un pouvait me renseigner...

Merci d'avance
  • # chez moi ça marche

    Posté par  . Évalué à 7.

    FILE="/un chemin/vers un/fichier"
    # deux slash au départ pour remplacer toutes les lignes, pas de slash final, on n'est pas dans sed
    FILE2=${FILE// /\\ }

    $ echo $FILE2
    /un\ chemin/vers\ un/fichier

    Sinon, il y a plus simple si tu veux pouvoir utiliser un chemin avec des espaces, c'est d'utiliser un autre séparateur (variable IFS) que l'espace.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.