我有 2 个变量
mypath=c:\tmp\silent-install
replace=c:/tmp/myapp
我试过这个命令,但它不会替换文件中的字符串
sed -i "s#$mypath#$replace#" file.txt
你能帮忙吗?
我有 2 个变量
mypath=c:\tmp\silent-install
replace=c:/tmp/myapp
我试过这个命令,但它不会替换文件中的字符串
sed -i "s#$mypath#$replace#" file.txt
你能帮忙吗?
变量赋值有问题,因为你的mypath
字符串有反斜杠。
试试这种方式:
mypath='c:\\tmp\\silent-install'
那么你的 sed one-liner 应该可以正常工作。
测试:
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
将您的第一个变量更改为:
mypath='c:\\tmp\\silent-install'