I don't know msys
, but a quick google search showed me that it includes the sed
utility. So, assuming it works similar in msys
than it does on native Linux, here's one way how to do it:
From Windows to POSIX
You'll have to replace all backslashes with slashes, remove the first colon after the drive letter, and add a slash at the beginning:
echo "/$pth" | sed 's/\///g' | sed 's/://'
or, as noted by xaizek,
echo "/$pth" | sed -e 's/\///g' -e 's/://'
From POSIX to Windows
You'll have to add a semi-colon, remove the first slash and replace all slashes with backslashes:
echo "$pth" | sed 's/^///' | sed 's///\/g' | sed 's/^./:/'
or more efficiently,
echo "$pth" | sed -e 's/^///' -e 's///\/g' -e 's/^./:/'
where $pth
is a variable storing the Windows or POSIX path, respectively.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…