Как в Linux найти и рекурсивно заменить строку во всех файлах?

Допустим нам требуется заменить email: root@mail.domain.ru на sf@nagg.ru во всех файлах в каталоге /home/www.
Наиболее оптимальным вариантом выглядит следующая конструкция:

find /home/www -type f -print0 | xargs -0 sed -i 's/root@mail\.domain\.ru/sf@nagg.ru/g'

В данной конструкции используется print0, ниже выдержка из man find:

-print0 (GNU find only) tells find to use the null character (\0)
instead of whitespace as the output delimiter between pathnames found.
This is a safer option if you files can contain blanks or other special character.
It is recommended to use the -print0 argument to find if you use -exec command or xargs
(the -0 argument is needed in xargs.).

После выполнения, мы можем проверить что root@mail.domain.ru более нигде не прописан (файлов в выводе не должно быть):

grep -rl 'root@mail.domain.ru' /home/www/

(далее…)