我想替换目录中存在的所有js文件的字符串
export name="test_user" &&
echo $customerName &&
sed -i -- 's/this.NAME=""/this.NAME=\"'$name'\"/g' *.js
如果我不使用空格,它可以正常工作,但使用上面的字符串命令会失败
答案1
's/this\.NAME=""/this.NAME="'"$name"'"/g'
分为几部分:
's/this\.NAME=""/this.NAME="'
"$name"
,这是重要的一点:变量扩展必须被引用。'"/g'
另外,如果您\"
在替换中使用,并且它用单引号引起来,那么您将在结果中插入\"
,而不是。"
您似乎还使用了一个名为 的变量customerName
。我假设这是一个错字。
我不知道您使用的是否sed
可以按照您想要的方式进行就地编辑。
有关的: