Назад | Перейти на главную страницу

Почему не работает замена строки в файлах на 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] [<=>                                                 ]

Что случилось?

sed -i

Он не будет отображать замену, выполненную в файле, вам нужно вручную проверить их или просто grep 'new\@email.com'

Если вы используете машину ubuntu, используйте:

sed -i.bak