Bonjour,

j'ai un script à faire avec sed, et là je suis confronté à un petit problème à cause d'un caractère spécial, le < et >.

Voici un ex de mon fichier (httpd.conf)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<Directory /var/www/html>
</Directory>
 
<Directory />
truc much
</Directory>
Voici ma ligne de code, j'ai testé pas mal de choses, mais je suis toujours confronté au même souci, si je ne mets pas en regexp "Directory />" il me rajoute mes lignes partout, alors que je voudrais qu'il ne m'ajoute mes lignes qu'à la suite du second directory:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed -e "/Directory /c <Directory /> Options None AllowOverride None Order allow,deny" /tmp/toto
Avec cela j'obtiens donc:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<Directory /> Options None AllowOverride None Order allow,deny
</Directory>
 
<Directory /> Options None AllowOverride None Order allow,deny
</Directory>
Comment pourrais-je faire pour que sed prenne en compte mon < ou >, car là il cherche à l'interpréter, et même en rajoutant \ devant, cela ne change rien.

D'avance merci pour votre aide.