J'essaie de trouver ces trois lignes:
<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->
et remplacez-les par:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Quand j'essaye
sudo sed -i 's:<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />:' /myfile.xml
Il ne le trouve pas, j'ai également essayé de le mettre \ n, mais cela n'a toujours pas fonctionné:
sudo sed -i 's:<!--\n <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />\n -->:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />:' /myfile.xml
Ceux-ci ne génèrent aucune erreur, mais ne décommentent pas la ligne. Tout conseil serait utile merci!
Voici une description des commandes multilignes dans SED: http://docstore.mik.ua/orelly/unix/sedawk/ch06_01.htm
C'est une douleur dans le cul. Vous voudrez peut-être suivre les conseils d'Eduardo et les utiliser à la
perl -i -p -e
place.la source
/<\!--/
: chaîne correspondante:X
: c'est une étiquette pour la commande de branche "b"/-->/
: chaîne correspondantes@...@...@p
: supprimer "<! -", "->" et imprimer le résultatd
: supprimer l'espace de motif et commencer un nouveau cycleN
: sinon correspondre avec / -> / puis ajouter une lignebX
: branche vers: étiquette Xp
: affiche simplement une chaîne qui ne correspond pas à / <! - /et cette deuxième méthode est une simple substitution de copier-coller textuellement pour les fichiers texte habituels de petite taille (besoin d'un fichier de script shell)
la source