使用sed管理XML字符串

时间:2016-06-24 07:30:08

标签: xml shell sed

您好我尝试使用sed在XML文件中进行一些替换,但我想我错过了一些东西......

我试图替换的字符串类型如下:

<Field name="ColName" type="java.lang.String"><![CDATA[EXTRACT_DATE]]></Field>

我将它存储在变量

F_LEFTSTR="<Field name=\"ColName\" type=\"java\.lang\.String\"><!\[CDATA\["
F_RIGHTSTR="\]\]><\/Field>"
F_RIGHTSTR="<\/Field>"
F_STRTOFIND="$F_LEFTSTR$FLD$F_RIGHTSTR"

我尝试使用反斜杠\

管理特殊字符
sed -i "s/$F_STRTOFIND/REPLACEMENT/" XML.xml

1 个答案:

答案 0 :(得分:1)

bash命令中的单引号可防止shell变量的插值。你必须使用双引号并转义嵌入的双引号。