Замена текста в больших файлах через SSH

25 марта 2018, 20:21

Шпаргалка о том, как заменить текст в файле на сервере, который не загружается в текстовый редактор из-за большого размера.

Столкнулся с описанной выше проблемой, нашел несколько вариантов решения, делюсь ими.

Массовая замена текста через SSH в нескольких файлах

find /folder/ -name '*.html' -exec sed -i 's/старый_текст/новый_текст/g' '{}' \;

Разбираемся:

  • find ищет файлы в обозначенной папке /folder/, имена -name которых совпадают с шаблоном *.html;
  • -exec для каждого файла из списка найденных и выполняет команду sed, которая осуществляет замену текста.

если вы хотите, чтобы, допустим, после замены текста у вас осталась резервная копия исходного файла, тогда вместе c -i можно приписать "_old" или "_bak", чтобы получилось что-то наподобие -i_bak, тогда вместе с заменяемым файлом создастся еще один — «имя_файла.расширение_old».
Андрей Копп
2    297    0
+1

Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.

    Топики

    Андрей Копп 03 октября 2018, 11:55
    Компоненты MODX Обзор компонента SEO Pro 0
    Андрей Копп 02 октября 2018, 11:18
    MODX Настройка MySQL 5.7 для работы pdoTools 0
    Андрей Копп 27 сентября 2018, 20:49
    MODX MinifyX в Fenom 0
    Андрей Копп 01 июля 2018, 15:13
    Другое Fenom в MODX (шпаргалки) 0

    Комментарии

    Андрей Копп 02 октября 2018, 09:04
    ComboBox с данными из другой таблицы modExtra 1
    Андрей Копп 08 сентября 2017, 20:24
    Всевозможная очистка кэша в Laravel 5 1