Я понятия не имею, что такое "конвейер Дженкинса", но я не вижу причин для того, чтобы ваш опубликованный скрипт sed не работал так, как вы описываете, поэтому я подозреваю, что ваша проблема находится где-то еще в вашем коде. Может быть, это как-то связано с этими sh """
и """
в начале и конце вашего файла (что, как я полагаю, связано с синтаксисом "конвейера Дженкинса", поскольку для сценария оболочки это не имеет смысла).
В любом случае, давайте очистим ваши кавычки, экранирование и выражения в скобках и посмотрим, поможет ли это:
$ cat README.txt
"version": "1.0.0-alpha-test.7"
$ BUILD_NUMBER=321
$ sed -E 's|("version" *: *".+alpha-test\.)[0-9]+|\1{BUILD_NUMBER}|g' README.txt
"version": "1.0.0-alpha-test.{BUILD_NUMBER}"
$ sed -E 's|("version" *: *".+alpha-test\.)[0-9]+|\1'"$BUILD_NUMBER"'|g' README.txt
"version": "1.0.0-alpha-test.321"
Я не могу сказать по вашему вопросу, хотите ли вы {BUILD_NUMBER}
или $BUILD_NUMBER
в выводе, поэтому я показал оба.