>我有一个文件,它有一些变量,我想将每一行从这里复制到其他文件,除了类型=密码的行。
下面是示例文件。
<Environment xsi:type="amxdata:Environment" name="@AMX_ENVIRONMENT_NAME@">
<SVar xsi:type="amxdata_base:SubstitutionVariable" name="FF_JDBC_USERNAME" type="String" value="@SVAR_ENV_JDBC_USERNAME@" />
<SVar xsi:type="amxdata_base:SubstitutionVariable" name="FF_JDBC_PASSWORD" type="Password" value="@SVAR_ENV_JDBC_PASSWORD@" />
<SVar xsi:type="amxdata_base:SubstitutionVariable" name="MON_JMS_USERNAME" type="String" value="@MON_EMS_USER@" />
<SVar xsi:type="amxdata_base:SubstitutionVariable" name="MON_JMS_PASSWORD" type="Password" value="@MON_EMS_PASSWORD@" />
</Environment>
输出文件:
<Environment xsi:type="amxdata:Environment" name="@AMX_ENVIRONMENT_NAME@">
<SVar xsi:type="amxdata_base:SubstitutionVariable" name="FF_JDBC_USERNAME" type="String" value="@SVAR_ENV_JDBC_USERNAME@" />
<SVar xsi:type="amxdata_base:SubstitutionVariable" name="MON_JMS_USERNAME" type="String" value="@MON_EMS_USER@" />
</Environment>
这就是我完成你的任务的方式。 它将in.xml
读入属性xml-content
排除带有type="Password"
的行,并将新内容打印到out.xml
中。
<target name="strip-passwords">
<loadfile property="xml-content" srcFile="in.xml" >
<filterchain>
<linecontainsregexp negate="true">
<regexp pattern="Qtype="Password"E"/>
</linecontainsregexp>
</filterchain>
</loadfile>
<echo message="${xml-content}" file="out.xml"/>
</target>