Pregunta

Tengo una variable que almacena una ruta de Unix, por ejemplo:

typeset unixpath=/foo/bar/

Y tengo que convertirlo a una ruta de DOS usando el script de KornShell (ksh):

dospath=\\\\foo\\\\bar\\\\
¿Fue útil?

Solución

Prueba:

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

Gracias a David Wolever por recordarme que use un $ para acceder al valor de la variable !

Otros consejos

Si tiene ksh93 :

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

El AT & amp; T ksh93 para Windows le permite etiquetar variables para la conversión automática con 'typeset -H':

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

Hubiera agregado como comentario a la respuesta de once81, pero no tengo los puntos

para hacerlo un poco más legible, ¿qué tal usar un delimitador de sed alternativo?

es decir

dospath=`echo $unixpath | sed 's./.\\\\.g'`
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top