NOTICE
This project is no longer maintained. Users are encouraged to switch to Ruplacer, a rewrite in Rust by the same author. It is both faster and more featureful, and I believe you'll like it :)
Replace text in files.
Python 3.
Install with pip
as usual.
Or, use the AUR on Arch Linux.
replacer [OPTIONS] PATTERN REPLACEMENT [FILES ...]
Note that internally, we'll call Python with:
re.sub(<PATTERN>, <REPLACEMENT>, line)
for each line of every regular file found in the current working directory.
This means you can use fancy backward references with \1
By default hidden files, and files matching
build-*, .git, .svn, *.py[co], *.[oa] , *.back, *~ , *.so, *.a
will be ignoredIf
FILES
is given, replacement will be performed on the files given as argument.You can also specify
--file-filter
to specify a pattern to match against the filenames. For instance, to replace in every .c file, use:replacer spam eggs --file-filter '*.c'
You can create a backup for each modified file by using
--backup
See
replacer --help
for a full list of options
First version was implemented in Bash in ctafconf.
Then it was rewritten in Python in this commit.