2010-03-05 7 views
1

나는 다음과 같은 개미 작업이 있습니다개미 토큰 화 : 토큰 개인을 선택

<loadfile property="proj.version" srcfile="build.py"> 
    <filterchain> 
     <striplinecomments> 
      <comment value="#"/> 
     </striplinecomments> 
     <linecontains> 
      <contains value="Version" /> 
     </linecontains> 
    </filterchain> 
</loadfile> 
<echo message="${proj.version}" /> 

을 그리고 출력은 내가 만 v1.0.10-r4.2의 동등한를 얻을 수있는 토크 나이를 어떻게 사용합니까

[echo] config ["Version"]   = "v1.0.10-r4.2" 

입니다

| cut -d'"' -f4 

답변

3

당신은 당신의내 containsregex 요소를 사용할 수 있습니다으로서 tokenfilter.

이 거기에 "Version" 어떤 라인을 필터링해야하고, 촬영 된 유일한 그룹 내용으로 돌려 ".^\?" 'vx.y.zz....'

< containsregex 패턴 = 버전 \ "을 \. "(v [^ \"] +?) \ ". " 는 REPLACE ="\ 1 "^/> 는. 작동하지 않습니다
는 < containsregex 패턴 = '이 될 수 있습니다.
을?"버전 ". "(브이 [^ \ "을] +?)". '

실제로 OP John Oxley가있는 작업 솔루션을 제공합니다 (매개 변수 값 내부의 비 탈출 따옴표를 위해 허용하는 parameter 속성에 대한 작은 따옴표) "\ 1"/ > 이 일할 수 = 대체 &quot;로 대체 따옴표 (\") :

<containsregex 
     pattern="^.*?&quot;Version&quot;.*&quot;(v[^&quot;]+?)&quot;.*" 
     replace="\1" /> 
+0

감사합니다. 거의 일했다. "을 사용하여 "매우 완벽하게 작동했습니다" –

+0

@John : 피드백에 감사드립니다. "으로 모든 큰 따옴표를 바꾸는 것을 의미합니까? '패턴 = "^. *? \ " 버전 \ " " \. * \ " (V의 [^ \ "] +?). * "'? – VonC

+1

당신은 탈출하지 않는 &. 이것은 어떤 작품.'패턴 =이다"^을. *? " 버전 ". * " (v [^ "] +?) ". * " ' –