Hacker News new | past | comments | ask | show | jobs | submit login
Ack - a faster, more featureful, grep (petdance.com)
13 points by smanek on June 22, 2008 | hide | past | favorite | 12 comments



Wow, 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.


I am a strong believer in having code examples on your front page. Ruby wins at this, as does Groovy.


While we're on something that is essentially a more powerful "find and grep", I wrote this years ago:

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.


It 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.


True, 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.

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.


In 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://savannah.gnu.org/bugs/index.php?14472


It doesn't use "perl compatible regexes", it uses Perl.


I would argue that 'perl regexes' are a member of the set of 'perl compatible regexes' ;-)


Proof? ;p


Is it possible to install it under Leopard without using Ports?


yep, it's just straight perl, and Leopard comes with perl


Why do all these regex utilities sound like onomatopoeias for really obscene things?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: