У меня есть файл .yml, который настраивает свойства среды приложения, например, это :
env1:
:prop1: "value1"
:prop2: "value2"
...
:propn: "valuen"
env2:
:prop1: "value1"
:prop2: "value2"
:prop3: "value3"
...
:propn: "valuen"
...
envn:
:prop1: "value1"
:prop2: "value2"
...
:propn: "valuen"
Я хотел бы создать сценарий bash со следующим интерфейсом:
$ change_env.sh
Пример:
$ change_env.sh env2 prop3 "this value was changed" file.yml
Результатом будет:
env1:
:prop1: "value1"
:prop2: "value2"
...
:propn: "valuen"
env2:
:prop1: "value1"
:prop2: "value2"
:prop3: "this value was changed"
...
:propn: "valuen"
...
envn:
:prop1: "value1"
:prop2: "value2"
...
:propn: "valuen"
Я нашел этот пост, но не смог его использовать в моем случае. Заменить значение элемента XML? Регулярное выражение Sed?
Я также пробовал это: (не удается, потому что изменяются все свойства)
sed 's/\(:pro3:\).*/\1 "new value"/'
Заранее спасибо! - Лоуренко.