Bonjour à tous !

Alors je poste sur le forum parce que je ne trouve pas ma solution à un problème avec la commande sed.
J'ai un fichier (contenu.xml) contenant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<attributes id="attr_ch_SiuToDopDest"> <attribute name="receiveport" value="30020"/> <attribute name="receiveaddress" value="pc_siu"/>
<attribute name="idnoid" value="1"/>
<attribute name="buffermaximum" value="65535"/> <attribute name="buffersend" value="65535"/>
</attributes>
J'aimerais remplacer toute cette chaine de caractère par autre chose.
Pour celà, j'ai fait ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
chaine_avant1='<attributes id="attr_ch_SiuToDopDest"> <attribute name="receiveport" value="30020"/> <attribute name="receiveaddress" value="pc_siu"/>\n<attribute name="idnoid" value="1"/>\n<attribute name="buffermaximum" value="65535"/> <attribute name="buffersend" value="65535"/>\n</attributes>'
chaine_apres1='COUCOU'
 
 
sed -i "s#$chaine_avant1 #$chaine_apres1 #g" $contenu.xml;
Celà ne fonctionne pas , comme si il ne trouvait pas dans mon fichier la chaine que je lui indique, ce qui est vraiment bizarre est que lorsque
Code : Sélectionner tout - Visualiser dans une fenêtre à part
chaine_avant1='<attributes id="attr_ch_SiuToDopDest"> <attribute name="receiveport" value="30020"/>'
, Celà fonctionne..
Quelqu'un aurait-il une idée ?

Merci de vos réponses !

Edit : J'ai retiré les espace sur ma commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -i "s#$chaine_avant1#$chaine_apres1#g" $contenu.xml;
Mais ce sont clairement les retours chariots qui posent problèmes, et impossible pour moi de les supprimer. Donc je ne vois pas comment faire, si quelqu'un peut m'aider !
Merci