4 ms·
Ack - a faster, more featureful, grep
- neilc 18y agoIt seems like it is only faster because it applies a bunch of heuristics to avoid searching certain files and directories altogether. I use "ack" myself and it's quite nice, but the heuristics aren't perfect: ack won't search for strings inside yacc grammars (".y" files) by default, for example.
- smanek 18y agoTrue, part of the speed comes from it's (configurable) heuristics. But, it's faster even when doing the same thing. For example, see the benchmark at http://blog.i-no.de/archives/2008/05/06/index.html http://blog.i-no.de/archives/2008/05/06/index.html. Then end result is that, on the same search, ack is approximately 5 times faster than grep. I ran a few test cases myself and got similar results. But the real reason I like it is the perl compatible regexes. The differences between perl regexes and gnu regexes are just big enough to be an annoyance.
- jrockway 18y agoIt doesn't use "perl compatible regexes", it uses Perl.
- neilc 18y agoIn that particular case, ack's performance advantage seems to arise mostly because of a bug that causes GNU grep to be terribly slow in multibyte locales: http://blog.i-no.de/archives/2008/05/07/index.html http://blog.i-no.de/archives/2008/05/07/index.html http://savannah.gnu.org/bugs/index.php?14472 http://savannah.gnu.org/bugs/index.php?14472
- jobeirne 18y agoWhy do all these regex utilities sound like onomatopoeias for really obscene things?
- bprater 18y agoWow, impressive homepage from a marketing angle. You hackerheads would do well to print out this website and hang it on your wall. Note the use of: quick, clear description; testimonials; subscribe box so you can keep in touch with the project; a top-ten list; and no-frills detailed information.
- chrisbroadfoot 18y agoI am a strong believer in having code examples on your front page. Ruby wins at this, as does Groovy.
- uzi 18y agoWhile we're on something that is essentially a more powerful "find and grep", I wrote this years ago: http://uzix.org/cgvg.html http://uzix.org/cgvg.html Like ack, it uses perl's regexes... just add more file extensions and you're golden. The nice thing is you do: cg pattern which gives you a list with what it found, which file, the line number and an index... then you vg index and it opens that file at that line.
- swombat 18y agoIs it possible to install it under Leopard without using Ports?
- smanek 18y agoyep, it's just straight perl, and Leopard comes with perl