我怎么能通过标准的msysfunction(如果不是失去了普遍性) Windows目录path(如c:/libs/Qt-static )转换到正确的POSIX dirpath( /c/libs/Qt-static ) ? 反之亦然(特别是intrested)?
如何获得创build时间(甚至毫秒)的文件夹在Windows中的文件夹#
如何search程序的内存中的图像/ png / jpeg /任何其他types,并显示它?
通过Anaconda在Windows上为Python安装`opencv_contrib`
用> 70%的cpu利用率创build线程
Windows的PHP Imagick不工作
我不知道msys ,但一个快速的谷歌搜索显示,它包括sed实用程序。 所以,假设它在msys工作方式与在本地Linux上的工作方式类似, msys是一种方法:
从Windows到POSIX
您将不得不用斜杠替换所有反斜杠,删除驱动器号后的第一个冒号,并在开头添加一个斜杠:
echo "/$pth" | sed 's/\///g' | sed 's/://'
或者,如xaizek所述,
echo "/$pth" | sed -e 's/\///g' -e 's/://'
从POSIX到Windows
您将不得不添加一个分号,删除第一个斜杠并用反斜杠替换所有的斜杠:
echo "$pth" | sed 's/^///' | sed 's///\/g' | sed 's/^./ :/'
或更有效地,
echo "$pth" | sed -e 's/^///' -e 's///\/g' -e 's/^./ :/'
其中$pth是存储Windows或POSIX路径的变量。
你在cygwin上使用它吗? 如果是,那么在cygwin包中有一个名为cygpath.exe的现成工具,只是为了做到这一点。
输出类型选项:
-d,--dos打印DOS(简称)形式的NAME(C: PROGRA〜1 )
-m, - 像--windows混合,但用正则斜杠(C:/ WINNT)
-M, - 模式文件模式(binmode或textmode)
-u,--unix(默认)打印NAME的Unix形式(/ cygdrive / c / winnt)
-w,--windows打印Windows窗体的名称(C: WINNT)
-t,--type TYPE print TYPE形式:'dos','mixed','unix'或'windows'
这是我的实现(在git bash上测试)。
从POSIX到Windows
sed ',/$,!s,$,/,^/,s,:/,2 s,\,g ' <<< "$@"
效劳于:
/c/git relative/dir c:/git ~ . .. /c /c/ ./relative/dir /sd0/some/dir/
除
/ <path with space>
说明:
,2 (转换/drive/dir/ to /drive:/dir/ )是它的核心,并在第二个/之前插入。 为了可读性,我使用delim来代替/ 。 如果以/ (,)开头,则用/替换:/为第二个出现。 我不想假定驱动器字母长度为1,所以这适用于/sd0/some/dir 。
s,删除前面的/和s,g将all /转换为 。
,是处理/c的转角情况,并确保第二个/ ( /c/ )为下一个命令工作。
注意:
如果这里string <<<在你的shell中不起作用,那么你可以echo和pipe as
echo "$@" | sed ...
勘误表
这里是脚本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。