Задать вопрос
@ynashyvan

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

Я нашел команду, которая выводит все совпадения в файлах в консоль.
Например, этот код находит все совпадения mail1@gmail.com в директории website.com/ :
grep -rnw 'website.com/' -e 'mail1@gmail.com'
Как можно найти почту mail1@gmail.com и заменить ее на mail2@gmail.com во всех файлах сразу?
  • Вопрос задан
  • 266 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Специалист по информационной безопасности + ML и нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Системный администратор
    6 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
find website.com -exec sed -i 's/mail1@gmail.com/mail2@gmail.com/' {} \;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
paran0id
@paran0id Куратор тега Linux
Умный, но ленивый
При помощи sed
Ответ написан
Комментировать
@klltmchn
grep -rl 'mail1@gmail.com' | sed -i -e 's#mail1@gmail.com#mail2@gmail.com#g'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы