我们的脚本中有一个sed命令,用于使用变量中的值替换文件内容。
例如...
替换后:Sara.xml。
例如...
export value="dba01upc\Fusion_test"
sed -i "s%{"sara_ftp_username"}%$value%g" /home_ldap/user1/placeholder/Sara.xml
sed命令忽略特殊字符如'\',并将其替换为字符串"dba01upcFusion_test"而不使用'\'。如果我像这样导出export value='dba01upc\Fusion_test'(用'\'包围),它可以正常工作。但不幸的是,我们的客户想要导出原始文本dba01upc\Fusion_test,并带有单/双引号,而且他不想在文本中添加任何额外的字符。请问有人知道如何让sed放置具有特殊字符的文本。
替换前:Sara.xml
<?xml version="1.0" encoding="UTF-8"?>
<ser:service-account >
<ser:description/>
<ser:static-account>
<con:username>{sara_ftp_username}</con:username>
</ser:static-account>
</ser:service-account>
替换后:Sara.xml。
<?xml version="1.0" encoding="UTF-8"?>
<ser:service-account>
<ser:description/>
<ser:static-account>
<con:username>dba01upcFusion_test</con:username>
</ser:static-account>
</ser:service-account>
Thanks in advance