我有一个Ant文件,其中包含我的TeamCity配置使用的目标。我对这个定义的目标使用replaceregexp:使用包含引号和等号的字符串从TeamCity调用Ant ReplaceRegexp
<replaceregexp file="${targetfile}" match="${originalstring}" replace="${updatedstring}" byline="true" />
我需要替换我的TargetFile已经包括了一组双引号的字符串;具体而言,我需要更换minlevel =“跟踪”与minlevel =“警告”。在TeamCity的我称之为Antfile有以下几点:
-Doriginalstring = =的MinLevel “跟踪” -Dupdatedstring = =的MinLevel “警告”
却忽略了双引号。 我确定有一个我不理解的转义字符的组合。 从TeamCity中调用此方法的正确方法是什么? 谢谢,
谢谢,这完全符合我的需要。 现在我有第二个相关的问题。我需要更新的另一个字符串有一个嵌入空间: '-Doriginalstring = minlevel =“Trace”db =“M1Auth” -Dupdatedstring = minlevel =“Warn”db =“M1Auth”' 我试着用空格反斜杠,但它仍然被视为两个独立的论点。有什么建议么? – TomT 2014-11-03 17:21:20
@TomT这是相同的想法(答案更新)。您需要将整个值(包括空格)包裹在外部引号内,当然也可以使用内部引号。 – manouti 2014-11-03 18:11:16
这就是我以前的想法和尝试。然而,嵌入式空间正在被认为是一个新的Ant目标被引用的迹象。 这是我的通过: '-Doriginalstring =“minlevel = \”Trace \“writeTo = \”AuthLogDb \“”-Dupdatedstring =“minlevel = \”Warn \“writeTo = \”AuthLogDb \“”' 这里是TeamCity所说的: 'Target'writeTo =“AuthLogDb”“”在项目中不存在 我真的很感谢帮助! – TomT 2014-11-03 21:00:48