Salut,
Au cours d'un processus d'installation dans un script bash j'ai besoin de faire 2 choses avec 2 fichiers XML. Est-ce que l'utilisation de
sed modifie en rien le fichier XML?
1.Add à une section en section <ServerListeners>
<ServerListener>
<BaseClass> Myapp.module.WowConfigurator </ baseclass>
</ ServerListener>
Le code ci-dessous fait le travail, mais il ne t en forme le fichier xml en ajoutant des onglets et de tous. Est-ce que c'est ok à partir d'un fichier XML de point de vue?
Code:
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. Avec un
sed J'ai besoin de commande pour remplacer la valeur d'une première occurrence d'un paramètre:
Le fichier xml contient:
Code:
<IpAddress>*</IpAddress>
<Port>1935</Port>
Et j'ai besoin de le remplacer par BindAddress $ et $ BINDPORT variables. C'est ce que je n'ai pas réussi à comprendre.
Merci,
Bianca