Recursive Find from Command Line
Probably a dozen times a day I need to search any given project for specific code keywords. Most of the time it's within a specific project but then there are times where I don't remember which directory or project the specific text is -- from my blog to my many Mozilla projects, I have code all over my local machine and it's oftentimes difficult to find something I need.
Most of the time I need to open my text editor and have it do the hard work of what I'm looking for but that's probably not efficient -- a more efficient tool would come from command line and thanks to CommandLineFu.com, I found the perfect command:
# Search all ".js" files for "debounce"
# Spits out file path, line number, and snippet where string appears
find . -name "*.js" -exec grep -in -H "debounce" {} \;
The command above searches files recursively to find the desired string, outputting the source file and the text which the string occurs in!
![9 Mind-Blowing WebGL Demos]()
As much as developers now loathe Flash, we're still playing a bit of catch up to natively duplicate the animation capabilities that Adobe's old technology provided us. Of course we have canvas, an awesome technology, one which I highlighted 9 mind-blowing demos. Another technology available...
![Create a CSS Flipping Animation]()
CSS animations are a lot of fun; the beauty of them is that through many simple properties, you can create anything from an elegant fade in to a WTF-Pixar-would-be-proud effect. One CSS effect somewhere in between is the CSS flip effect, whereby there's...
![Simple Image Lazy Load and Fade]()
One of the quickest and easiest website performance optimizations is decreasing image loading. That means a variety of things, including minifying images with tools like ImageOptim and TinyPNG, using data URIs and sprites, and lazy loading images. It's a bit jarring when you're lazy loading images and they just...
![MooTools Star Ratings with MooStarRating]()
I've said it over and over but I'll say it again: JavaScript's main role in web applications is to enhance otherwise boring, static functionality provided by the browser. One perfect example of this is the Javascript/AJAX-powered star rating systems that have become popular over the...
Recently I’m using:
I think grep also has an option to filter on file extension too and I use it sometimes, but I don’t know it by heart.
The output on this looks pretty must the same as with the functionality already built into grep using the
-rand--includeflags. I also tend to add the-nflag to output the line numbers as well. I believe this should line be equivalent.https://vivekragunathan.wordpress.com/more-resources/cmd-line-sucks/
Everyday
grepThe find trick was one I learned at university in the 1990s, when most greps didn’t have the recursive flag. My vague recollection is that GNU grep introducing -r gave much of the competition a bit of a kick up the arse, and now it’s fairly common, but the find trick is still useful on older or more obscure Unix platforms…
Pretty sure you have a typo in there. “*.[js]” means “*.j” or “*.s”, which is likely to find nothing.
Good point — left some testing in there. Updated!
Check out Ack (http://beyondgrep.com/why-ack/).
Oh, you were filtering for JavaScript files only. That’s as easy as
:-)
Wasn’t able to execute this through the command line:
Err find: missing argument to `-exec'https://github.com/ggreer/the_silver_searcher