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 do case "$opt" in i) case="-i " ;; *) echo "$usage"; return;; esac done shift $(( $OPTIND - 1 )) if [ "$#" -lt 1 ]; then echo "$usage" return; fi local SMSO=$(tput smso) local RMSO=$(tput rmso) find . -type f -name "${2:-*}" -print0 | xargs -0 grep -sn ${case} "$1" 2>&- | sed "s/$1/${SMSO}\0${RMSO}/gI" | more }
... comes with the lot, even highlighting. ;-) Jobst On Fri, Nov 14, 2008 at 07:14:22PM +1100, [EMAIL PROTECTED] ([EMAIL PROTECTED]) wrote: > Is there a command that finds a file containing a certain word? > > find and apropos don't. They work on filenames only. > > Using Hardy H. > > Any suggestions gratefully etc. > > Bill Bennett > -- > SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/ > Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html -- When you lose, don't lose the lesson. | |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