我有2个变量
mypath=c:\tmp\silent-install
replace=c:/tmp/myapp
我尝试了这个命令,但它没有替换文件中的字符串
sed -i "s#$mypath#$replace#" file.txt
你能帮忙吗?
答案 0 :(得分:0)
mypath
变量赋值有问题,因为你的字符串有反斜杠。
尝试这种方式:
mypath='c:\\tmp\\silent-install'
然后你的sed单行应该可以正常工作。
TEST:
kent$ mypath='c:\\tmp\\silent-install'
kent$ replace=c:/tmp/myapp
kent$ cat file
c:\tmp\silent-install
kent$ sed -i "s#$mypath#$replace#" file
kent$ cat file
c:/tmp/myapp
答案 1 :(得分:0)
将您的第一个变量更改为:
mypath='c:\\tmp\\silent-install'