I wanted to change all occurrences of PRIVATE to NJPRIVATE in a bunch of files. It’s a simple command in sed, but what about replacing the file? output to temporary, then copy? yes, but.
the PERL solution is
perl -pi -e 's/PRIVATE/NJPRIVATE/' `grep -l PRIVATE *.php`
the magic is
-p loop and swallow the files, and print default.
-i edit the files in-place
-e do the command
solution found at Debian Administration