У меня есть несколько файлов и набор текстовых комбинаций для поиска и замены.
Например, у меня есть набор для поиска текста и замены текста следующим образом:
У меня есть около 100 таких комбинаций, мне нужно найти все «найти тексты» и заменить его соответствующим текстом замены.
Как я могу сделать это легко?
Есть ли инструмент для этого?
для замены текстом в файлах в единственном выстреле, можно использовать sed:
sed -i -e 's@margin@new_margin' -e 's@color@color_primary@' -e 's@xxx@zzz@' -e '@rre@768@' /path/to/files/*
- я опция говорю sed для выполнения модификации в файле без печати
- e говорят sed, имеют больше строки, чтобы быть, находят и замененный
В s@ говорится, разделитель для string_to_find и replacement_string
последним является путь, где файл, если они - все в одном месте, можно выполнить эту команду однажды.
!!! Выполните резервное копирование своего файла ВСЕГДА, прежде чем сделают модификацию с sed в файле непосредственно!!!
ОБНОВЛЕНИЕ
Благодаря @steeldriver, который говорит в комментарии для не изменения исходного файла с sed добавление суффикса к-i опциям
- я [СУФФИКС], - оперативный [=SUFFIX]
Т.Е.
sed -i_edited 's@margin@new_margin' /path/to/files/examplefile
закончится с новым файлом, измененным названный examplefile_edited