使用sed命令如何将Linux路径替换为Windows路径

时间:2017-07-08 11:33:35

标签: linux bash awk sed

我想将Linux路径更改为Windows路径,使用" sed"命令,例如:

  

Linux路径: / opt / test / dash / apps / tomcat 到Windows路径:   的 C:\\测试\\破折号\\应用\\ Tomcat的

我尝试过:

sed -i 's|'/opt/test/dash/apps/tomcat'|'c:\\\\\\\test\\\\\\\dash\\\\\\\apps\\\\\\\tomcat'|g' /filename - But no luck!!

我真正希望所有/ opt /应该替换为c:\\和" /"应替换为" \\"。

注意:我正在使用ssh2_exec,All" sed"远程执行此命令。除上述命令外,命令正在工作。

提前致谢!!

2 个答案:

答案 0 :(得分:1)

我会分两步完成:

$>echo '/opt/test/dash/apps/tomcat' | sed 's#/opt#c:#g'|sed 's#/#\\\\#g'
c:\\test\\dash\\apps\\tomcat

首先使用/opt更改c:,然后将/更改为您必须转义的\

答案 1 :(得分:0)

我使用正则表达式,所以:

sed -r 's@/(.*)/(.*)/(.*)/(.*)/(.*)@C:\\\\\2\\\\\3\\\\\4\\\\\5@'

使用-r启用正则表达式的解释,使用@作为sed分隔符,将路径拆分为5个部分,然后在翻译的部分中用\ 1 \ 2等引用它们。