В Linux можно заменить текст в множестве файлов, используя команду sed.
Команда sed (Stream Editor) позволяет изменять содержимое файла, фильтруя и преобразуя текстовый поток. Для замены текста в множестве файлов вам нужно выполнить следующие действия:
-
Откройте терминал и перейдите в директорию, где находятся файлы, в которых вы хотите заменить текст.
-
Выполните команду
sedс использованием следующего синтаксиса:sed -i 's/старый_текст/новый_текст/g' файлыВ этой команде:
-
-iозначает «встроенная замена» (in-place replacement), что позволяет изменить содержимое файлов непосредственно на месте, без создания новых файлов; -
sозначает «замена» (substitution); -
/старый_текст/— это текст, который вы хотите заменить; -
/новый_текст/— это текст, на который вы хотите заменить старый текст; -
gозначает «глобальная замена» (global substitution), что позволяет заменить все вхождения старого текста на новый текст в каждом файле.
Вы можете указать список файлов, в которых нужно заменить текст, через пробелы, например:
sed -i 's/старый_текст/новый_текст/g' файл1 файл2 файл3Или вы можете использовать шаблон, чтобы выбрать файлы, в которых нужно выполнить замену, например:
sed -i 's/старый_текст/новый_текст/g' *.txtВ этом примере команда
sedзаменит старый текст на новый текст во всех файлах с расширением.txt. -
-
Выполните команду и убедитесь, что замена была выполнена успешно.
