вторник, 14 февраля 2017 г.

Заменить строку в XML по значению. shell

Есть XML. В нем есть фрагмент:

         

wowzaSourceStreamUDPListenerDebug
false
Boolean

wowzaSourceStreamUDPListenerPort
9777
String


wowzaSourceStreamHostName
HOSTNAME
String




Задача - заменить значение HOSTNAME на IP адрес.
Скрипт:
WMSAPP_HOME=/tmp
HN=`hostname -I`
переменная HN будет иметь значение адреса с пробелом в конце.
Использовать нужно не ${HN} а ${HN%% }

sed -i -e  '/wowzaSourceStreamHostName<\/Name>/!b;n;c\t\t\t\t\t'"${HN%% }"'<\/Value>' ${WMSAPP_HOME}/conf/Server.xml

Комментариев нет: