Попробуйте это,
$ INPUT=2.0.0
$ sed "/SYSTEM_APP_VERSION/ s/value=\".*\"/value=\"$INPUT\"/" tt
<server name="SYSTEM_APP_VERSION" value="2.0.0"/>
Предлагаю сделать это в одном скрипте по шаблону N;P;D
:
sed -e ':loop' -e '$!N;/\n->/!s/-*\n/ /;tloop' -e 'P;D'
Вы зацикливаете добавление строки 'N'ext и удаление новых строк с необязательным тире (s/-*\n/ /
), пока новая строка не начнется с ->
.