Oi,
Durante um processo de instalação em um bash script que precisa fazer 2 coisas com 2 arquivos XML. Será que o uso de
sed afecta de modo algum o arquivo XML?
1.Add a uma seção em seção <ServerListeners>
<ServerListener>
<BaseClass> Myapp.module.WowConfigurator </ BaseClass>
</ ServerListener>
O código abaixo faz o trabalho, mas ele doesn; t formatar o arquivo xml adicionando separadores e todos. Ok é que a partir de um arquivo XML do ponto de vista?
Código:
ISLISTENER=`grep -n "myapp" $WOW_HOME/conf/Server.xml|cut -d":" -f1 |head -1`
if [ ${ISLISTENER} == "" ]
then
INSERTLINE=`grep -n "ServerListeners" $WOW_HOME/conf/Server.xml|cut -d":" -f1 |head -1`
sed -e ''${INSERTLINE}'a\</ServerListener>''' $WOW_HOME/conf/Server.xml > $WOW_HOME/conf/Server.xml_new
mv $WOW_HOME/conf/Server.xml_new $WOW_HOME/conf/Server.xml
sed -e ''${INSERTLINE}'a\<BaseClass>myapp.module.WowConfigurator</BaseClass>''' $WOW_HOME/conf/Server.xml > $WOW_HOME/conf/Server.xml_new
mv $WOW_HOME/conf/Server.xml_new $WOW_HOME/conf/Server.xml
sed -e ''${INSERTLINE}'a\<ServerListener>''' $WOW_HOME/conf/Server.xml > $WOW_HOME/conf/Server.xml_new
mv $WOW_HOME/conf/Server.xml_new $WOW_HOME/conf/Server.xml
fi
2. Com um
sed Eu preciso de comando para substituir o valor de uma primeira ocorrência de um parâmetro:
O arquivo XML contém:
Código:
<IpAddress>*</IpAddress>
<Port>1935</Port>
E eu com a necessidade de substituir BINDADDRESS $ e $ BINDPORT variáveis. Esse eu não consiga a descobri.
Obrigado,
Bianca