Я пытаюсь использовать sed для увеличения номера версии в файле conf. Номер версии имеет такую форму:
MENDER_ARTIFACT_NAME = "release-6"
.
Используя следующее:
sed -r 's/(.*)(release\-)([0-9]*)(.*)/echo "\1\2$((\3+1))\4"/ge'
Результат таков:
MENDER_ARTIFACT_NAME = release-7
т.е. это работает, но это пропускает кавычки. Я проверил документы по регулярным выражениям, и (. *) Должен совпадать со всеми не символами новой строки, любое количество раз, поэтому первое должно соответствовать всему, включая кавычку, до release-6
, а второе должно соответствовать всем, включая цитата, после release-6
. Вместо этого, кажется, полностью отказаться от кавычек. Что я делаю не так?