Hi. I beg to differ.
1: its quicker to type "fstr HTML '*.php'" 2: less (and more) kill the highlighting done by grep 3: grep has to (internally) call the other processes to to the same I am already doing with pipes 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. Jobst On Mon, Nov 17, 2008 at 03:49:22PM +1100, Amos Shapira ([EMAIL PROTECTED]) wrote: > 2008/11/17 Jobst Schmalenbach <[EMAIL PROTECTED]>: > > > > Put this into your .bashrc file: > > > > function fstr() > > { > > OPTIND=1 > > local case=" " > > local usage="fstr: find string in files.\nUsage: fstr [-i] \"pattern\" > > [\"filename pattern\"] " > > while getopts :it opt > ... > > find . -type f -name "${2:-*}" -print0 | xargs -0 grep -sn ${case} "$1" > > 2>&- | sed "s/$1/${SMSO}\0${RMSO}/gI" | more > > It's a nice excercise in bash scripting but quiet redundant with > today's GNU grep: > -R/-r/--recursive will replace the "find" > --include=pattern will replace find's "-name ..." (though many times I > use "--exclude \*.svn-base" to skip SVN files) > --colour will highlight the results > > Less' -R/--RAW-CONTROl-CHARS will help page through the highlighted output. > > So in the end you can achieve the same result with something like: > > grep -r --colour pattern directory/ | less -R > > --Amos > -- > SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/ > Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html -- Never share a foxhole with anyone braver than yourself. | |0| | Jobst Schmalenbach, [EMAIL PROTECTED], General Manager | | |0| Barrett Consulting Group P/L & The Meditation Room P/L |0|0|0| +61 3 9532 7677, POBox 277, Caulfield South, 3162, Australia -- SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/ Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html