Мені потрібно замінити деякий текст всередині текстового файлу заміною. Зазвичай я б робив щось подібне
sed -i 's/text/replacement/g' path/to/the/file
Проблема полягає в тому, що і те, text
і інше, replacement
є складними рядками, що містять тире, косу рису, чорну косу риску, цитати тощо. Якщо я втечу від усіх необхідних персонажів всередині text
речі стає швидко нечитабельним. З іншого боку, мені не потрібна сила регулярних виразів: мені просто потрібно буквально підставити текст.
Чи існує спосіб заміни тексту без використання регулярних виразів за допомогою якоїсь команди bash?
Це було б досить тривіально, щоб написати сценарій, який це робить, але я вважаю, що це вже повинно існувати.
bash
завжди постачаються з Microsoft Word? ;) Ні .. Просто жартую. ОП може захотіти зробити це на віддаленій машині або для партії файлів.
sed
, що, мабуть, марне зусилля, враховуючи всі перемикачі комутаторів та платформи.
find and replace all