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.

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
  2. 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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Il y aura toujours 2 lignes à échanger par une seule ?
      0
    2. wfipap Messages postés 19 Statut Membre
       
      Oui en effet
      0
    3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > 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
    4. wfipap Messages postés 19 Statut Membre
       
      Super Merci Zip31, problème résolu
      0
    5. 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