我正在尝试使用linux中的脚本替换文件中的字符串。
阅读本文后: Find and Replace Inside a Text File from a Bash Command
我使用了以下行
perl -pi -e "s/myparam/$MY_VAR/g" /res/raw/configuration.xml
但问题是MY_VAR
包含一个网址(类似https://stackoverflow.com/questions/ask),其中包含/
,并且根本不会替换该字符串。
我假设我不需要编写一个可以找到并替换所有/
的脚本,并且有一种简单的方法可以解决它。
由于
答案 0 :(得分:1)
您可以将此sed用于备用分隔符:
sed -i.bak "s~myparam~$MY_VAR~g" /res/raw/configuration.xml
Perl
也允许使用相同的内容:
perl -pi -e "s~myparam~$MY_VAR~g" /res/raw/configuration.xml
答案 1 :(得分:1)
perl -pi -e 's/myparam/$ENV{MY_VAR}/g' /res/raw/configuration.xml
或将$MY_VAR
放在命令行上,而不是将其插入perl one liner,
perl -pi -e 'BEGIN{$s = shift} s/myparam/$s/g' $MY_VAR /res/raw/configuration.xml