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!
![39 Shirts – Leaving Mozilla]()
In 2001 I had just graduated from a small town high school and headed off to a small town college. I found myself in the quaint computer lab where the substandard computers featured two browsers: Internet Explorer and Mozilla. It was this lab where I fell...
![Create a CSS Cube]()
CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals. Add animation and you've got something really neat. Unfortunately each CSS cube tutorial I've read is a bit...
![Reverse Element Order with CSS Flexbox]()
CSS is becoming more and more powerful these days, almost to the point where the order of HTML elements output to the page no longer matters from a display standpoint -- CSS lets you do so much that almost any layout, large or small, is possible. Semantics...
![NSFW Blocker Using MooTools and CSS]()
One of my guilty pleasures is scoping out the latest celebrity gossip from PerezHilton.com, DListed.com, and JoBlo.com. Unfortunately, these sites occasionally post NSFW pictures which makes checking these sites on lunch a huge gamble -- a trip to HR's office could be just a click away.
Since...
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