To recursively search for text contained in many files within many folders:

grep -r "searchtexthere" *

If you know the extension or pattern of the file you would like, another method is to use --include option:

grep -r --include "*.txt" texthere .

To search for text within 1 file:

grep "searchtexthere" FileNameHere.txt

To do a totally custom grep search:

grep --include="*.xxx" -nRHIi "my Text to grep" *

-n Output the line number of search matches
-R Searches recursively
-H Prints the filename for each search match
-I Processes binary files as if they contain no searchable data
-i Case insensitive search

grep flags

-r = search recursively
-i = search case insensitive
-n = include the line number for each matched result, but slows down the search
-F = search for a Fixed string instead of regex. Saves time searching through many files by not invoking the regex processing engine.
--include = specify file(s) to include
--exclude = specify file(s) to exclude
-H, --with-filename = print the filename for each match

End