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