为什么使用 find 和 exec sed 替换文件中的字符串不起作用

为什么使用 find 和 exec sed 替换文件中的字符串不起作用

目标是替换所有对我旧电子邮件的引用。我试过了

find /var/www/vhosts/ -name '*.php' -type f -exec sed -i 's/old\@email.com/new\@email.com/g' {} \;

但它什么也没显示。它一直运行,什么也没发生。

我试过

find /var/www/vhosts/ -name '*.php' -type f -exec sed -i 's/old\@email.com/new\@email.com/g' {} \; | pv

但我所看到的

0B 1:03:01 [   0B/s] [<=>                                                 ]

怎么了?

答案1

sed -i

它不会显示对文件进行的替换,您必须手动检查它们,或者只是grep 'new\@email.com'

如果你使用的是 Ubuntu 机器,请使用:

sed -i.bak

相关内容