On 12.01.2009 14:21, Alain Helfenstein wrote:
> I want to print all lines wihtch contains the string "Open" from a bunch
> of 'xml' files. Additionally I want to print the filename and the line
> number of the match.
> 
> The problem with the following snippet is, that the variable '$.' does
> not reset the line number at the beginning of a new file.
> 
> That menas, the printed file numbers are not correct except for the
> first file of '*.xml'
> 
> ruby -n -e 'puts ($FILENAME + " " + $..to_s + "" + $_) if /Open/' *.xml
> 
> Does anybody have a idea, on how to print the correct line number?
> 
> Thanks a lot for your answer, Alain.

I'm not Alain, but... :-)  Just kidding.

Here's how to do it:

ruby -ne 'puts "#$FILENAME #$. #$_" if /Open/; $.=0 if ARGF.eof?' *.xml

Cheers

	robert

-- 
remember.guy do |as, often| as.you_can - without end