shell中sed替换怎么才能将被替换的变量中存在转义符号“\”
例如:有个test.sh和一个test.propertiestest.sh的内容是:#!/usr/bin/kshprop_value="\/home\/tomcat"pr...
例如:有个test.sh 和 一个test.properties
test.sh的内容是:
#!/usr/bin/ksh
prop_value="\/home\/tomcat"
prop_key="path"
typeset old_line=`grep "^[ ]*${prop_key}[ ]*=" "test.properties"`
typeset new_line="${prop_key}=${prop_value}"
echo "new_line="${prop_key}=${prop_value}""
sed "s#^${old_line}#${new_line}#g" test.properties > tmp.properties
test.properties内容是:
path=/home/oracle
执行test.sh后test.properties内容修改为path=/home/tomcat
现在我需要的结果是path=\/home\/tomcat,保留转义符号“\”
求高手解答!!!
注意prop_value="\/home\/tomcat"不是固定的也许是prop_value="\/home\/tomcat\/bin"
此处只是写了一个固定值作为测试,需要的结果是如何将转义符保留。 展开
test.sh的内容是:
#!/usr/bin/ksh
prop_value="\/home\/tomcat"
prop_key="path"
typeset old_line=`grep "^[ ]*${prop_key}[ ]*=" "test.properties"`
typeset new_line="${prop_key}=${prop_value}"
echo "new_line="${prop_key}=${prop_value}""
sed "s#^${old_line}#${new_line}#g" test.properties > tmp.properties
test.properties内容是:
path=/home/oracle
执行test.sh后test.properties内容修改为path=/home/tomcat
现在我需要的结果是path=\/home\/tomcat,保留转义符号“\”
求高手解答!!!
注意prop_value="\/home\/tomcat"不是固定的也许是prop_value="\/home\/tomcat\/bin"
此处只是写了一个固定值作为测试,需要的结果是如何将转义符保留。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询