J'ai un script, dans lequel j'ai une variable ($TOTO, disons), qui est un
chemin, donc qui contient plein de '/'. Je veux appliquer sed en utilisant
cette variable pour transformer une liste de chemins. Par exemple, je veux
rajouter $TOTO au début de chacun des chemins d'une liste.
Si je fais :
$ sed "s/^/$TOTO/" file
Ben ça plante. Forcément : $TOTO contient des /, donc quand je fais la
substitution, je me retrouve avec une expression du type :
$ sed "s/^//path/to/somewhere/" file
avec plein de '/' non-protégés.
Faudrait que je protège tous les / dans $TOTO, pour que ça marche. Ma
question, c'est comment faire ça facilement et proprement ?
Pour l'instant, la solution que j'ai trouvée, c'est de faire passer $TOTO
dans une première expression sed, qui remplace tous les '/' par '\/' (ce
que j'adore avec sed, c'est la vitesse à laquelle les expressions
grossissent... :-/ ). Ensuite, tout va bien.
Existe-il une solution plus propre pour automatiquement protéger tout le
contenu d'une variable ?
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."