Another common question that I hear on a weekly basis. You would think this would be a pretty straightforward answer, and it is. I think the shear number of options available with Grep is what confuses folks. So, here is the basic way to perform this task.
grep -r “texthere” .
Simple, right? ”texthere” is the string that you are searching for, and the -r says search recursively starting from the current directory (.). You can also specify specific filenames or types that you would like to search, such as *.txt, *.php, etc.
On some older Unix versions, you may find that Grep does not support the -r syntax. In that case, try the following :
find ./ -type f | xargs grep “texthere”
Also som version also will not support searching for *.txt as the filename, in that case, try the following :
find /dir/to/search/ -iname *.txt -exec grep ‘texthere’ ‘{}’ \;
Little known piece of trivia, GREP stands for Get Regular Expression and Print
Related articles
- The grep Command (codingexplorer.wordpress.com)
- How to use GREP to find data conveniently and quickly (stackoverflow.com)
- Axel Beckert: grep everything (noone.org)

Post a Comment