in reply to find or grep?

Did you try 'grep --with-filenames'?

It works on gnu version (e.g. linux)

I have this alias for recursive grep:

alias Grep 'echo Recursive Grep:;find . -type f -exec fgrep --with-filename \!* \{\} \;'