Ack разработан как отдельная (один perl-файл) замена для 99% случаев использования grep. ack хорошо разбирается в файлах, которые он ищет. Он знает об определенных типах файлов, основываясь как на расширении файла, так и, в некоторых случаях, на содержимом файла.
Ack игнорирует файлы резервных копий и файлы в каталогах CVS и .svn. Он также выделяет совпадения, чтобы помочь вам увидеть, где было совпадение. Ack использует регулярные выражения Perl (PCRE).
Разработанный для программистов с большими разнородными деревьями исходного кода, ack написан исключительно на переносимом Perl 5 и использует преимущества регулярных выражений Perl.