If you need to find a string in a file, you would typically use:
grep -H "string to find" filename.ext
However, grep doesn’t handle a large number of files well. If you specify grep "string" * or even grep "string" `find ./`you may find yourself facing this error:
bash: /bin/grep: Argument list too long
If you need to search for a string in a lot of files then you can use a simple bash script to do the searching for you.

In this sample, I am looking for a string “sample string” in a directory named “./sample/”:
for i in `find ./sample/`; do grep -H "sample string" $i; done
This uses the find command to do the searching. It actually returns a list of filenames, which we can then grep one-by-one. The -H option tells grep to let us know the filename it found the string in so we can go right into that file to find the location of it.

You May Also Like

Zero-Day Flash Exploit – Another Reason To Run NoScript

There is a Zero-day Adobe flash exploit being actively distributed in the…

The Problem With Twitter

Twitter has a problem. I have many different social groups that I…

One Liner to Get External IP Address

Was poking around ServerFault this morning and came across a great one-liner…

Small 16×16 icons for websites

Looking for some small 16 by 16 icons for your website or…