How can I make grep to ignore some files (e.g. .svn directories, binary files, etc.) while grepping recursively?
Use an --exclude pattern as already answered here
Use ack.