包含正则表达式的Ant执行任务

时间:2014-02-18 12:17:08

标签: svn ant exec

更具体地说,我想从Ant目标

运行以下svn命令
svn log -q -v --xml --with-all-revprops -r head | grep msg | sed -e "s/<msg>\([^<]*\)<\/msg>/\1/g"

上述命令通过清除标记来获取最新的修订提交消息

然后我尝试执行以下操作,但显然它失败了,因为正则表达式包含xml符号并写在xml代码之上。

<exec executable="sh" failonerror="true" outputproperty="svnMessage">
  <arg value="-c" />
  <arg value="svn log -q -v --xml --with-all-revprops -r head | grep msg | sed -e &quot;s/<msg>\([^<]*\)<\/msg>/\1/g&quot; "/>
</exec>
<echo message="${svnMessage}" />

任何想法?

1 个答案:

答案 0 :(得分:0)

尝试用一些在线html编码器编码字符串。

&quot;s/&lt;msg&gt;\([^&lt;]*\)&lt;\/msg&gt;/\1/g&quot;