Linux Question of the Day – How do I Grep Recursively?
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
- A Hellcat that Got Its Feet Wet
- USA Spec PA15 – INFI iPhone/iPod interface for Infiniti G35x