Bash 使用文件中的种子将windows路径替换为linux路径

Bash 使用文件中的种子将windows路径替换为linux路径,bash,ubuntu,sed,replace,path,Bash,Ubuntu,Sed,Replace,Path,我有一个配置文件,需要使用脚本自动更改 原始路径:G:\xampp\www\myweb 新路径:/srv/myweb/public\u html 我尝试使用所有可能的选项 sed -i \"s/G:\\xampp\\www\\myweb/\/srv\/myweb\/public_html/g\" myfile.php 但是我做不到,有什么帮助吗 解决方案必须使用bash,因为它运行在一个巨大的脚本中。。感谢您提供的任何建议请尝试取消对命令和转义的引用,如下所示: sed -i "s/G:\\\

我有一个配置文件,需要使用脚本自动更改

原始路径:G:\xampp\www\myweb 新路径:/srv/myweb/public\u html 我尝试使用所有可能的选项

sed -i \"s/G:\\xampp\\www\\myweb/\/srv\/myweb\/public_html/g\" myfile.php
但是我做不到,有什么帮助吗


解决方案必须使用bash,因为它运行在一个巨大的脚本中。。感谢您提供的任何建议

请尝试取消对命令和转义的引用,如下所示:

sed -i "s/G:\\\xampp\\\www\\\myweb/\/srv\/myweb\/public_html/g" file
这可以做到:

sed 's|G:\\xampp\\www\\myweb|/srv/myweb/public_html|g' -i myfile.php
我们在sed search命令中使用|作为分隔符,而不是默认的/以避免转义/,并在所有内容周围使用单引号以避免双转义\

使用单引号并使用与/不同的分隔符,该分隔符不出现在搜索/替换术语中\和换行符以外的任何字符都可以用作分隔符


\是元字符,请使用\\按字面意思表示它

标题错误。'sed而不是seed。
$ echo 'foo G:\xampp\www\myweb bar' | sed 's#G:\\xampp\\www\\myweb#/srv/myweb/public_html#g'
foo /srv/myweb/public_html bar