Преобразование пути Unix в путь DOS


У меня есть переменная, которая хранит путь Unix, например:

typeset unixpath=/foo/bar/

И я должен преобразовать его в путь DOS, используя сценарий KornShell (ksh):

dospath=\\foo\\bar\\
4 2

4 ответа:

Попробуйте:

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

Спасибо David Wolever за напоминание использовать $ для доступа к значению переменной!

Если у вас есть ksh93:

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

AT&T ksh93 для Windows позволяет помечать переменные для автоматического преобразования с помощью 'typeset-H':

$ typeset-H home=$HOME & & print $home=$HOME C:\users\Henk=/home/Henk

Я бы добавил в качестве комментария к ответу eleven81, но у меня нет очков

Чтобы сделать его немного более читаемым, как насчет использования альтернативного разделителя sed

То есть

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