У меня есть текстовый файл, который имеет некоторые значения заполнителя:
Пример:
Parent:
Child: x
Child2: <place-holder>
Car:
Seat: x
Door: <place-holder>
Я выполняю это с помощью sed
таким образом, который работает как на MacOS, так и на Linux
sed -i .bak "s/<place-holder>/$REPLACEMNET_VALUE/g" file.yml
Что мне нужно сделать sh Теперь еще один шаг вперед, чтобы вставить раздел в этот файл.
У меня есть файл с несколькими строками в правильном формате и расположение этого файла в переменной среды.
sed -i .bak "s/<place-holder-section>/$(<$CONFIG_OPTIONS_TEMP)/g" config.yml
Однако sed, похоже, не может обрабатывать несколько строк ( без экранирования).
Ошибка:
sed: 1: "s/<place-holder-section>/ f ...": unescaped newline inside substitute pattern
Возможно, это можно решить с помощью некоторого зацикливания и подстановки позиции строки, но я надеюсь, что у кого-то есть более элегантное решение, возможно, используя awk? Сохранение кросс-совместимости MacOS также является проблемой.