Or you can use the tools designed for finding stuff :) find . -name "*.txt" | xargs grep Hello That version will work for all files. You can play with find to match any file you want. Pat On 12/26/05, Gary Watson <pfharlock / yahoo.com> wrote: > This is probably something everyone in here already knows about, but I > thought it was cool enough that I wanted to post about it. > > If you want to create a one liner to say search all the *.txt files > in and under the current directory for text matching "Hello", you can do > this > > find -name '*.txt' -exec ruby -ne 'print if /Hello/' '{}' ';' > > I know you can do this in pure ruby in like 3 lines if you use the Find > module, but I really wanted to do it with a one liner. Earlier I tried > something like this > > ruby -ne 'print if /Hello/' `find -name '*.txt'` > > unfortunately that version would fail if there were any spaces in the > filenames. > >