Alternatives to sad
A command-line batch search and replace tool that shows a diff before changes are applied. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
sad
A command-line batch search and replace tool that shows a diff before changes are applied.
Replacements
Listings that take over the same core job as sad.
Serpl
A terminal interface for searching and replacing text across a whole project folder.
Serpl offers a full terminal interface with preview, case-preserving replacement and optional ast-grep search, but requires ripgrep and is seeking new maintainers.
fastmod
A fast command-line tool for interactive regex search and replace across a large codebase.
fastmod reviews each replacement interactively across large codebases without needing fzf, though it is a small project with occasional updates.
sd
Replace text with a focused command-line tool.
sd performs literal or regex replacement in files without a diff preview or interactive selection, and it also runs on Windows.
Also worth comparing
These listings name sad as their own alternative, so the relationship runs both ways.
ast-grep
Search and rewrite source code using its structure instead of text alone.
sad performs batch search and replace with a diff preview before any file changes, but it works on text patterns rather than syntax trees and needs fzf for selection.
scooter
Review and apply text replacements through a terminal interface.
sad shows a diff preview before applying batch replacements and uses fzf for selective replacement, which must be installed separately, and runs on macOS and Linux only.
Similar software
Related functionality, not a direct replacement.
delta
A pager that makes git diffs readable: syntax highlighting, word-level changes, side-by-side view and line numbers.
fzf
A fuzzy filter for any list: files, command history, processes, branches, anything you can pipe into it.
ripgrep
Searches a whole directory tree for a pattern in a fraction of the time grep takes, and skips what gitignore says to skip.
GNU sed
The GNU stream editor for filtering and transforming text from files or pipelines.
RnR
A command-line tool that batch renames files and directories using regular expressions.