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.
>
>