15 comments

[ 3.8 ms ] story [ 41.2 ms ] thread
"Ack is designed as a replacement for 99% of the uses of grep."

Alright, but where is the advantage of it?

The name is one letter shorter. Here are some other advantages listed: http://beyondgrep.com/why-ack/
Thanks, though I hope that statement came with a pinch of sarcasm ;)

The list reads more like a list of features though than "advantages over grep".

About the command name length, probably a running joke ?

This is from the feature list of the Silver Searcher, listed above:

"The command name is 33% shorter than ack, and all keys are on the home row!"

The Silver Searcher, or ag: https://github.com/ggreer/the_silver_searcher

Designed as a replacement for all of the use cases of Ack. Is even faster.

* The command name is 33% shorter than ack, and all keys are on the home row!

Sold!

This one is fast. Really fast.

It even better than ack. This is very useful on large codebases.

I'll engage in some expectation management: ag doesn't cover all uses of Ack. I made ag because I loved Ack, but it wasn't fast enough for my needs. For the features of Ack that I use, ag is interchangeable. For features I don't use... not so much. Also, since the release of Ack 2.0, some behaviors and command line options have differed slightly.

If you want to know why ag is so fast, there's a summary in the GitHub README.[1] I've also written a few blog posts on the subject.[2]

1. https://github.com/ggreer/the_silver_searcher#how-is-it-so-f...

2. http://geoff.greer.fm/ag/#related-posts

(comment deleted)
I'll take this opportunity to thank you for this productivity enhancing great piece of software!
I'm not sure how valid the comparison benchmark is:

  Ack and Ag found the same results, but Ag was 34x faster
  (3.2 seconds vs 110 seconds). My ~/code directory is about
  8GB. Thanks to git/hg/svn-ignore, Ag only searched 700MB of that.
Searching less data definitely is going to take less time!
Ack uses the same git/hg/svn-ignore heuristic.
(comment deleted)
While "would you rather type" examples are OK, I wish more people would learn how to use their shell's short-cuts and trivial scripting.

Whenever you find yourself repeatedly running long and awkward commands that you wish were shorter, you ought to think about converting them into an alias or a script.