2008/11/21 Jobst Schmalenbach <[EMAIL PROTECTED]>:
>
> Hi.
>
> I beg to differ.
>
>  1: its quicker to type "fstr HTML '*.php'"

It's shorter to define:

function fstr() { grep -r --colour=always --include="${2:-*}" $1 . | less -R; }

If you insist on using fstr :)

>
>  2: less (and more) kill the highlighting done by grep

I said, Jeff repeated and I'll repeat it again - "less -R" doesn't kill colors.
>
>  3: grep has to (internally) call the other processes to to the same I am 
> already doing with pipes

Nope. Grep doesn't have to call 4 external programs (find, xrgs, grep
and sed) to find files, open them, search for a string and
color-hilight it.
I didn't even count the couple of calls to "tput".

Do a little experiment - time(1) the two options (run each at least
twice so the other option won't benefit from caching offered by the
first run).

>
>  4: (overly pedantic): can do more with find grep can ever do and I can 
> decide the order of my pipes and WHAT I want to do.

But not with fstr() as you defined it above.

If you insist on using find(1)'s file picking power then even the
following looks a bit more appealing to me:

function fstr() { find "${2}" -print0 | grep --colour=always $1 | less -R }

(BTW - I already benefited from this thread - I just noticed grep's
--exclude-dir which will allow me to exclude .svn directories even
better - thanks!).

Plus if you get used to using "grep -r" etc then it's more readily
available on "foreign territory" (e.g. one of the dozens of servers we
manage on which I didn't get around to install all my favorite
aliases).

Cheers,

--Amos
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to