Question

J'ai une variable qui stocke un chemin Unix, par exemple:

typeset unixpath=/foo/bar/

Et je dois le convertir en un chemin DOS à l'aide du script KornShell (ksh):

dospath=\\\\foo\\\\bar\\\\
Était-ce utile?

La solution

Essayez:

dospath=`echo $unixpath | sed 's/\//\\\\/g'`

Merci à David Wolever de m'avoir rappelé d'utiliser un $ pour accéder à la valeur de la variable !

Autres conseils

Si vous avez ksh93 :

ksh-M 93t 2008-11-04$ unixpath=/foo/bar/            
ksh-M 93t 2008-11-04$ print ${unixpath//\//\\\\\\\\}
\\foo\\bar\\

AT & amp; T ksh93 pour Windows vous permet de baliser des variables pour une conversion automatique avec 'typeset -H':

$ typeset -H home = $ HOME & amp; & amp; print $ home = $ HOME C: \ utilisateurs \ Henk = / home / Henk

J'aurais ajouté un commentaire à la réponse de eleven81, mais je n'ai pas les points

pour le rendre légèrement plus lisible, pourquoi ne pas utiliser un autre délimiteur sed

c'est-à-dire

dospath=`echo $unixpath | sed 's./.\\\\.g'`
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top