Perl: Search and replace a string across your entire code base
I wanted to rename a function anywhere it was found in my code base. This requires going through every file and directory recursively, and checking each file. Using the Linux find
command we can find all the files and then hand the search and replace off to Perl. Easy peasy.
find codebase/ -type f -exec perl -pi -E 's/foo/bar/g' {} +
or using fd
instead:
fd . codebase/ --type f --exec-batch -pi -E 's/foo/bar/g' {}