我想将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"远程执行此命令。除上述命令外,命令正在工作。
提前致谢!!
答案 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等引用它们。