Ajouter une ligne entre deux balises html <Directory > et </Directory&

Résolu
wfipap Messages postés 19 Statut Membre -  
wfipap Messages postés 19 Statut Membre -
Bonjour à tous,
Je suis nouveau sur le forum.
J'aimerais ajouter une ligne dans un fichier de conf httpd.conf (pour ne pas le citer) entre deux balises

<Directory>
.....
ma ligne
......
</Directory),
dans un script de configuration pour plusieurs serveurs.
Quelqu'un aurait une idée?
Merci d'avance.
Bonne journée à tous.
A voir également:

2 réponses

zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Salut,

Avec les optons d'insertion (i) ou d'ajout (a) c'est faisable, mais avec un exemple de ce que tu veux vraiment (avant/après) ce serait mieux ;-\

Si on prend tes dires :
<Directory>
.....
ma ligne
......
</Directory>
Ta ligne n'est ni après ni avant mais au milieu de quelque part… est-ce important, ou pas ?


1
wfipap Messages postés 19 Statut Membre
 
Merci de ta réponse zip31
je veux remplacer :
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>


Par

<Directory />
Require all denied
</Directory>
Merci
0
zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Il y aura toujours 2 lignes à échanger par une seule ?
0
wfipap Messages postés 19 Statut Membre
 
Oui en effet
0
zipe31 Messages postés 38797 Statut Contributeur 6 433 > wfipap Messages postés 19 Statut Membre
 
Ok.

Le fichier d'entrée :
$ cat httpd.conf 
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>


1e solution :
$ sed '\#<Directory />#,\#</Directory># { //b;s/.*/Require all denied/;n;d}' httpd.conf 
<Directory />
Require all denied
</Directory>


2nd solution :
$ sed '\#<Directory />#,\#</Directory># { //b;N;s/.*/Require all denied/}' httpd.conf 
<Directory />
Require all denied
</Directory>


Si ça fait ce que tu veux, tu rajoutes l'option
-i
afin d'effectuer les substitutions dans le fichier original définitivement.
0
wfipap Messages postés 19 Statut Membre
 
Super Merci Zip31, problème résolu
0
wfipap Messages postés 19 Statut Membre
 
Bonjour Zip31
Dans l'exécution de mon script la ligne suivante me renvoie une erreur :
sudo sed -i '\#<Directory />#,\#</Directory># { //b;N;s/.*/Require all denied/}' $APACHE_PREFIX/httpd.conf

Erreur:

sudo sed -i '\#<Directory />#,\#</Directory># { //b;N;s/.*/Require all denied/}' $APACHE_PREFIX/httpd.conf
<code>
</code>
hard_apache.sh: line 350: syntax error near unexpected token `newline'
hard_apache.sh: line 350: `sudo sed -i '\#<Directory />#,\#</Directory># { //b;N;s/.*/Require all denied/}' $APACHE_PREFIX/httpd.conf'
0