Shell脚本用变量linux替换字符串

我试图用包含ex的变量替换“ c:\ abacd”之类的字符串。 Shell脚本中的v_var =“ e:\ abcd”。但以下代码无法正常工作。

sed -i“ s + c:\ abcd + $ {v_var} + g”〜/ test.txt

但是,我可以使用下面的cmd成功地用文件中包含v_rest =“ rest”的变量替换其他简单单词,例如“ test”。我正在使用变量

sed -i“ s + test + $ {v_rest} + g”〜/ test.txt

评论
忧郁逗比
忧郁逗比

use c:\\\\ instead of just c:\, to escape the backslash.

点赞
评论
[呛人心]
[呛人心]

这为我工作:

export v_var="e:\\\\abcd"
sed -i "s/c:\\\\abcd/${v_var}/g" ~/test.txt

您需要在命令行和变量中转义“ \”。

点赞
评论