Alternatives to ack
A grep-like source code search tool built for programmers working in large code trees. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
ack
A grep-like source code search tool built for programmers working in large code trees.
Replacements
Listings that take over the same core job as ack.
ripgrep
Searches a whole directory tree for a pattern in a fraction of the time grep takes, and skips what gitignore says to skip.
ripgrep is a single binary with no Perl interpreter needed, runs faster on large trees and respects gitignore by default, though its regex syntax differs slightly.
ugrep
A grep-compatible file searcher with a text interface, Boolean queries, fuzzy matching and archive search.
ugrep keeps grep-compatible options and adds an interactive text interface, Boolean and fuzzy search, and searching inside archives and compressed files, under a BSD-3-Clause license.
ripgrep-all
ripgrep that can also search inside PDFs, Office documents, ebooks, zip files, databases and subtitles.
ripgrep-all extends ripgrep to search inside PDFs, Office documents and archives, but depends on external tools such as pandoc and poppler and is AGPL-3.0 licensed.
Similar software
Related functionality, not a direct replacement.
fd
Finds files by name without the argument soup that find requires, and it is much faster.
fastmod
A fast command-line tool for interactive regex search and replace across a large codebase.
sad
A command-line batch search and replace tool that shows a diff before changes are applied.
Serpl
A terminal interface for searching and replacing text across a whole project folder.
fzf
A fuzzy filter for any list: files, command history, processes, branches, anything you can pipe into it.
bat-extras
A set of Bash scripts that connect the bat file viewer with grep, man, diff and less.