【问题标题】:command to convert windows path to unix path using cygwin inside a file在文件中使用 cygwin 将 Windows 路径转换为 ​​unix 路径的命令
【发布时间】:2014-08-10 09:15:51
【问题描述】:

在运行 make 之前,我需要将文件中的 windows 路径转换为 ​​unix 路径。由于一个软件(IDE),我正在使用 Windows 框运行构建构建。因此使用 cygwin 运行构建。

windows路径是:

c:/Program Files (x86)/xxxxxx/Bin/xxx.exe

想改成:

/cygdrive/c/Program Files/xxxxx/Bin/xxxx.exe

我知道我可以使用 cygpath,但这只会给我转换后的 unix 路径。我在想是否可以使用 sed 命令在文件内进行更改。

我是 unix 新手,所以如果有人可以帮助并给我完整的命令,那将是一个很大的帮助

提前致谢

【问题讨论】:

  • 我不明白为什么cygpath 不合适。
  • 格伦感谢您的回复。我想更改文件内的路径。我不想编辑文件并提交它。我想在构建期间更改它。这就是为什么我可以使用 grep 和 sed 以某种方式进行更改??

标签: windows unix sed path cygwin


【解决方案1】:
sed -i 's#c:/Program Files (x86)/#/cygdrive/c/Program Files#' YourFile

做这项工作,但你们来自 windows 世界路径分隔符与 unix 不同,通常是\,在这种情况下你当然需要

sed -i 's#c:\\Program Files (x86)\\#/cygdrive/c/Program Files#;s#\\#/#g' YourFile

【讨论】:

  • 你好 NeronLeVelu 我试过你的命令,它只是将程序文件 (x86) 更改为程序文件,但没有将 c: 替换为 /cygdrive/c/
  • 添加选项 -e 以确保 sed 将 ( 作为字符而不是正则表达式组
猜你喜欢
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多