Групповая замена текста в Линукс с помощью команды sed
В 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
. -
-
Выполните команду и убедитесь, что замена была выполнена успешно.