5 ms·
Definitely ack (https://beyondgrep.com/ https://beyondgrep.com/). It basically is grep but designed for source code. First off it can be downloaded as a single
by lindgrenj6 10y ago
Definitely ack (https://beyondgrep.com/ https://beyondgrep.com/).
It basically is grep but designed for source code. First off it can be downloaded as a single file (Perl script FTW!), so easy to deploy. Secondly, by default it automatically searches recursively, prints out the filename, and line numbers of matches. It also uses PCRE for its regexes which is really nice.
But by far the most time saving feature I have is the type searching functionality in it! For example, one can type 'ack --java System.out' and it will search ONLY the java files! No more 'find . -name *.java -exec grep -Hni System.out {} \;'.
And you can add custom types easily through your .ackrc, it is a very well put together piece of software.
(PS: If you're trying it, definitely try out 'ack --bar')
- curuinor 10y agoIf you mention ack, you gotta mention silver search (ag): https://github.com/ggreer/the_silver_searcher https://github.com/ggreer/the_silver_searcher
- LaFolle 10y agoWhat is the difference between ack and ag? I use ag a lot, and it seems, on web, whenever ag is mentioned, ack is also somewhere in vicinity (or vice-versa).
- curuinor 10y agoag is faster ack is simpler and more OG
- lloeki 10y agoIf you mention the silver searcher (ag), you gotta mention the platinum searcher (pt) :) https://github.com/monochromegane/the_platinum_searcher https://github.com/monochromegane/the_platinum_searcher Since it's pure Go, there's your static binary which makes it easily deployable again.
- fanf2 10y agoIf you mention ack, ag, and pt, you also have to mention ripgrep (rg) https://github.com/BurntSushi/ripgrep https://github.com/BurntSushi/ripgrep which has the usability features of the newer grep-alikes but is as fast or faster than gnu grep.
- 9diov 10y agoYou should try ripgrep (https://github.com/BurntSushi/ripgrep https://github.com/BurntSushi/ripgrep) which has the same functionality but with 2 orders of magnitude faster.
- techwizrd 10y agoI used to use grep and ag quite often until I found ripgrep. It's really an incredible piece of software.
- frenchie14 10y ago> No more 'find . -name * .java -exec grep -Hni System.out {} \;' While ack is great, I just want to point at you could easily do 'grep -rHni System.out --include \*.java'. Granted it's still more words, but the '--include' directive (which you can specify multiple of) is really great for quickly modifying a grep search to restrict to certain filetypes. No need for find/exec :)
- LaFolle 10y ago(PS: and also 'ack --cathy')!