You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Guy Catz <Gu...@waves.com> on 2008/05/12 15:18:16 UTC
Replace string in file
hey guys,
Is it possible to replace a string in an existing file?
Thanks,
Guy.
Re: Replace string in file
Posted by AparnaSDoshi <aa...@yahoo.com>.
Use replaceregexp task with replacing < by < and > by >
<replaceregexp file="filename" match="<a/>" replace=" " flags="g"
byline="true"/>
Raja Nagendra Kumar wrote:
>
> Use replace task
>
> <replace file="@{lFileName}"
> token="ANT_TOKEN_IMAGES_ROOT_DIR"
> value="${IMAGES_ROOT}"/>
>
> Regards,
> Nagendra
>
--
View this message in context: http://www.nabble.com/Replace-string-in-file-tp17187373p17555897.html
Sent from the Ant - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
Re: Replace string in file
Posted by Raja Nagendra Kumar <Na...@tejasoft.com>.
Use replace task
<replace file="@{lFileName}"
token="ANT_TOKEN_IMAGES_ROOT_DIR"
value="${IMAGES_ROOT}"/>
Regards,
Nagendra
--
View this message in context: http://www.nabble.com/Replace-string-in-file-tp17187373p17281195.html
Sent from the Ant - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
AW: Replace string in file
Posted by Ja...@rzf.fin-nrw.de.
You have to mask that like everywhere in XML.
Jan
> -----Ursprüngliche Nachricht-----
> Von: Guy Catz [mailto:Guy.catz@waves.com]
> Gesendet: Donnerstag, 15. Mai 2008 15:17
> An: Ant Users List
> Betreff: RE: Replace string in file
>
> Thanks for the answer.
>
> I need to replace @token@ with <aa><bb></bb></aa>.
> But the ANT engine tells me that I can't use '<' or '>'.
>
> Please advice.
>
> Thanks.
>
> -----Original Message-----
> From: David Weintraub [mailto:qazwart@gmail.com]
> Sent: Tuesday, May 13, 2008 8:27 PM
> To: Ant Users List
> Subject: Re: Replace string in file
>
> What type of replacement? You can do a filter on strings like
> @VERSION@,
> @DATE@, @FOO@, or whatever you want via filtersets and
> mappers when you
> copy. For example, I have some configuration files.
> They're called *.properties.template, and I replace the @xxx@ strings
> with values from a deploy.properties file and remove the *.template
> suffix. The filterset replaces the @xxx@ tokens with the
> correct values
> while the mapper renames the file by removing the *.template
> suffix:
>
> <!-- Copy the configuration files that don't contain
> tokens -->
> <copy todir="${local.jboss.home}/server/${jboss.instance}"
> verbose="${copy.verbose.flag}">
> <fileset dir="${jboss.install.home}/jbdev1">
> <exclude name="**/*.template"/>
> </fileset>
> </copy>
>
> <!-- Copy the configurable files and replace any tokens -->
> <copy todir="${local.jboss.home}/server/${jboss.instance}"
> overwrite="true"
> verbose="${copy.verbose.flag}">
> <fileset dir="${jboss.install.home}/jbdev1">
> <include name="**/*.template"/>
> </fileset>
> <mapper type="glob"
> from="*.template" to="*"/>
> <filterset begintoken="@" endtoken="@">
> <filter token="path_to_server_dir"
>
> value="${local.jboss.home}/server/${jboss.instance}"/>
> <filtersfile file="${deploy.properties.file}"/>
> </filterset>
> </copy>
>
> Is this what you're looking for?
>
> On Mon, May 12, 2008 at 9:18 AM, Guy Catz <Gu...@waves.com> wrote:
> > hey guys,
> >
> > Is it possible to replace a string in an existing file?
> >
> > Thanks,
> > Guy.
> >
>
>
>
> --
> --
> David Weintraub
> qazwart@gmail.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For additional
> commands, e-mail: user-help@ant.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
Re: Replace string in file
Posted by David Weintraub <qa...@gmail.com>.
On Thu, May 15, 2008 at 9:17 AM, Guy Catz <Gu...@waves.com> wrote:
> Thanks for the answer.
>
> I need to replace @token@ with <aa><bb></bb></aa>.
> But the ANT engine tells me that I can't use '<' or '>'.
You have to escape those with "<" and ">" for "<" and ">"
respectively. The build.xml file is a XML file, and in XML the greater
and less than signs have special meanings.
Another possibility is to use a *.properties file for the replacement
string. Imagine having a file called "replace.properties" with this
line.
token=<aa><bb></bb></aa>
This is legal in properties files and should work when reading it with
ant. You can use a <filtersfile> as my example above shows. In the
above example, I have a file called "${deploy.properties.file}" that
contains the tokens I want to filter.
>
> Please advice.
>
> Thanks.
>
> -----Original Message-----
> From: David Weintraub [mailto:qazwart@gmail.com]
> Sent: Tuesday, May 13, 2008 8:27 PM
> To: Ant Users List
> Subject: Re: Replace string in file
>
> What type of replacement? You can do a filter on strings like @VERSION@,
> @DATE@, @FOO@, or whatever you want via filtersets and mappers when you
> copy. For example, I have some configuration files.
> They're called *.properties.template, and I replace the @xxx@ strings
> with values from a deploy.properties file and remove the *.template
> suffix. The filterset replaces the @xxx@ tokens with the correct values
> while the mapper renames the file by removing the *.template
> suffix:
>
> <!-- Copy the configuration files that don't contain tokens -->
> <copy todir="${local.jboss.home}/server/${jboss.instance}"
> verbose="${copy.verbose.flag}">
> <fileset dir="${jboss.install.home}/jbdev1">
> <exclude name="**/*.template"/>
> </fileset>
> </copy>
>
> <!-- Copy the configurable files and replace any tokens -->
> <copy todir="${local.jboss.home}/server/${jboss.instance}"
> overwrite="true"
> verbose="${copy.verbose.flag}">
> <fileset dir="${jboss.install.home}/jbdev1">
> <include name="**/*.template"/>
> </fileset>
> <mapper type="glob"
> from="*.template" to="*"/>
> <filterset begintoken="@" endtoken="@">
> <filter token="path_to_server_dir"
>
> value="${local.jboss.home}/server/${jboss.instance}"/>
> <filtersfile file="${deploy.properties.file}"/>
> </filterset>
> </copy>
>
> Is this what you're looking for?
>
> On Mon, May 12, 2008 at 9:18 AM, Guy Catz <Gu...@waves.com> wrote:
>> hey guys,
>>
>> Is it possible to replace a string in an existing file?
>>
>> Thanks,
>> Guy.
>>
>
>
>
> --
> --
> David Weintraub
> qazwart@gmail.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For additional
> commands, e-mail: user-help@ant.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>
--
--
David Weintraub
qazwart@gmail.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
RE: Replace string in file
Posted by Guy Catz <Gu...@waves.com>.
Thanks for the answer.
I need to replace @token@ with <aa><bb></bb></aa>.
But the ANT engine tells me that I can't use '<' or '>'.
Please advice.
Thanks.
-----Original Message-----
From: David Weintraub [mailto:qazwart@gmail.com]
Sent: Tuesday, May 13, 2008 8:27 PM
To: Ant Users List
Subject: Re: Replace string in file
What type of replacement? You can do a filter on strings like @VERSION@,
@DATE@, @FOO@, or whatever you want via filtersets and mappers when you
copy. For example, I have some configuration files.
They're called *.properties.template, and I replace the @xxx@ strings
with values from a deploy.properties file and remove the *.template
suffix. The filterset replaces the @xxx@ tokens with the correct values
while the mapper renames the file by removing the *.template
suffix:
<!-- Copy the configuration files that don't contain tokens -->
<copy todir="${local.jboss.home}/server/${jboss.instance}"
verbose="${copy.verbose.flag}">
<fileset dir="${jboss.install.home}/jbdev1">
<exclude name="**/*.template"/>
</fileset>
</copy>
<!-- Copy the configurable files and replace any tokens -->
<copy todir="${local.jboss.home}/server/${jboss.instance}"
overwrite="true"
verbose="${copy.verbose.flag}">
<fileset dir="${jboss.install.home}/jbdev1">
<include name="**/*.template"/>
</fileset>
<mapper type="glob"
from="*.template" to="*"/>
<filterset begintoken="@" endtoken="@">
<filter token="path_to_server_dir"
value="${local.jboss.home}/server/${jboss.instance}"/>
<filtersfile file="${deploy.properties.file}"/>
</filterset>
</copy>
Is this what you're looking for?
On Mon, May 12, 2008 at 9:18 AM, Guy Catz <Gu...@waves.com> wrote:
> hey guys,
>
> Is it possible to replace a string in an existing file?
>
> Thanks,
> Guy.
>
--
--
David Weintraub
qazwart@gmail.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For additional
commands, e-mail: user-help@ant.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
Re: Replace string in file
Posted by David Weintraub <qa...@gmail.com>.
What type of replacement? You can do a filter on strings like
@VERSION@, @DATE@, @FOO@, or whatever you want via filtersets and
mappers when you copy. For example, I have some configuration files.
They're called *.properties.template, and I replace the @xxx@ strings
with values from a deploy.properties file and remove the *.template
suffix. The filterset replaces the @xxx@ tokens with the correct
values while the mapper renames the file by removing the *.template
suffix:
<!-- Copy the configuration files that don't contain tokens -->
<copy todir="${local.jboss.home}/server/${jboss.instance}"
verbose="${copy.verbose.flag}">
<fileset dir="${jboss.install.home}/jbdev1">
<exclude name="**/*.template"/>
</fileset>
</copy>
<!-- Copy the configurable files and replace any tokens -->
<copy todir="${local.jboss.home}/server/${jboss.instance}"
overwrite="true"
verbose="${copy.verbose.flag}">
<fileset dir="${jboss.install.home}/jbdev1">
<include name="**/*.template"/>
</fileset>
<mapper type="glob"
from="*.template" to="*"/>
<filterset begintoken="@" endtoken="@">
<filter token="path_to_server_dir"
value="${local.jboss.home}/server/${jboss.instance}"/>
<filtersfile file="${deploy.properties.file}"/>
</filterset>
</copy>
Is this what you're looking for?
On Mon, May 12, 2008 at 9:18 AM, Guy Catz <Gu...@waves.com> wrote:
> hey guys,
>
> Is it possible to replace a string in an existing file?
>
> Thanks,
> Guy.
>
--
--
David Weintraub
qazwart@gmail.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
RE: Replace string in file
Posted by Sean Tiley <st...@meraksystems.com>.
Have a look at the ReplaceRegExp and Replace tasks
Should be what you are looking for.
-----Original Message-----
From: Guy Catz [mailto:Guy.catz@waves.com]
Sent: Monday, May 12, 2008 9:18 AM
To: user@ant.apache.org
Subject: Replace string in file
hey guys,
Is it possible to replace a string in an existing file?
Thanks,
Guy.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org