Convertir le chemin Unix en chemin DOS
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\\\\
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