> From: peter reilly [mailto:[EMAIL PROTECTED] > Sent: Wednesday, November 12, 2003 2:56 AM > To: Ant Users List > Subject: Re: Remove a specific line from a file. > > On Wednesday 12 November 2003 07:22, Stefan Bodewig wrote: > > On Tue, 11 Nov 2003, Robert Priest <[EMAIL PROTECTED]> wrote: > > > Can anyone tell me how to remove a specific line from a text file > > > using ant. > > > > <replaceregexp> would probably work - simply replace the line your > > don't want to see with nothing. > > > > Ant 1.6beta with a <linecontainsregexp> filterreader in <copy> would > > work as well - you'd jave to craft a regexp that matched all your > > lines except for the one you don't want to see in your file. > > Ant 1.6beta also has a <scriptfilter> which allows you to write > a filter as follows: > <concat> > This is a line > this is a bad line > This is a good line > <filterchain> > <scriptfilter language="beanshell"> > if (self.getToken().indexOf("good") == -1) { > self.setToken(null); > } > </scriptfilter> > </filterchain> > </concat> > > With java 1.4 one may use a regex: > > <scriptfilter language="beanshell"> > if (!self.getToken().matches(".*This.*good.*line.*")) { > self.setToken(null); > } > </scriptfilter>
I've been using myself a homegrown <sed> task. Here's an example: <bm:sedEditorGroup id="pmodel - fix flex/bison"> <delete pattern="^# *line" /> <delete pattern="^# *[0-9]" /> <replace pattern="yy" with="yy_pmodel_gram_" /> <replace pattern="__EXTERN_C__" with="__cplusplus" /> </bm:sedEditorGroup> <bm:sed from="pmodel/pmodel_gram_tab.c" to="pmodel/pmodel_gram.y.cpp"> <editorGroup refid="pmodel - fix flex/bison" /> </bm:sed> <bm:sed from="pmodel/pmodel_gram_tab.h" to="pmodel/pmodel_gram.y.h"> <editorGroup refid="pmodel - fix flex/bison" /> </bm:sed> I find this more straightforward. --DD PS: For info, here's the full context of its use: <ac:outofdate> <sourcefiles> <pathelement location="script/cgram.y" /> </sourcefiles> <targetfiles> <pathelement location="script/cgram.y.cpp" /> <pathelement location="script/cgram.y.h" /> </targetfiles> <sequential> <echo>Bisoning script/cgram.y...</echo> <exec executable="${bison}" failonerror="true"> <arg value="-vd" /> <arg value="-o" /> <arg file="script/cgram_tab.c" /> <arg file="script/cgram.y" /> <env key="BISON_SIMPLE" value="${tools.dir}/bin/bison.simple" /> </exec> <bm:sed from="script/cgram_tab.c" to="script/cgram.y.cpp"> <editorGroup refid="script - fix flex/bison" /> </bm:sed> <bm:sed from="script/cgram_tab.h" to="script/cgram.y.h"> <editorGroup refid="script - fix flex/bison" /> </bm:sed> <delete file="script/cgram.out" /> <delete file="script/cgram.output" /> <delete file="script/cgram_tab.c" /> <delete file="script/cgram_tab.h" /> </sequential> </ac:outofdate> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]