$ grep ... | head -n ...
I think this feature comparison misses how grep is supposed to be used. (See also "Pipe output through a pager or other command") $ grep ... | head -n ...
I think this feature comparison misses how grep is supposed to be used. (See also "Pipe output through a pager or other command")I prefer tools designed with does one thing well philosophy. It lets me scale my knowledge. I can solve many problems with find and parallel not supported by these grep clones.
> I prefer tools designed with does one thing well
This is pretty unlikely. For example, you probably use a grep tool that will also do recursive directory traversal for you. It probably even has flags for defining filters on that traversal. Why use such a tool when `find` already does recursive directory traversal for you?
However, ack and ripgrep's default unpiped output is grouped by file, and if you pipe the output, it doesn't do the grouped output.
The idea of "supposed to be used" is also different for ack than it is for grep. ack is specifically less of a general-use tool than grep. It's meant for searching source code. This is also why I have never said that ack is a replacement for grep.