Forum Programmation.shell Manipulation de texte

Posté par  .
Étiquettes : aucune
0
19
oct.
2005
Bonjour ,

J'ai un ptit soucis avec la manipulation de fichier texte.

Je travaille sur Apache et souhaiterais faire de petite modification sur le fichier httpd.conf.

Je dois rajouter une ligne quasiment au milieu du fichier (je ne connais pas la position précise , mais je sais que c'est juste après une certaine chaine de caractère)

Je ne sais pas vraiment quel genre de commande utiliser... j'ai vaguement regarder le Awk et le sed , mais je n'ai pas bien compris comment les utiliser pour mon problème.

est-ce que quelqu'un pourrait m'éclaire sur la manipulation de fichier texte ??
Merci d'avance.
  • # vi ....

    Posté par  . Évalué à 3.

    vi httpd.conf

    /chaine_de_caractere_a_retrouver

    puis ensuite tu ajoute ta ligne

    esc+x pour sauvegarder le fichier.

    Tout celà en supposant que tu ne fais cette modif qu'une seule fois (d'ailleurs je ne vois pas l'intéêt de modifier un script de conf via script étant donné que c'est une manip ponctuelle).

    Je te recommande chaudement d'apprendre a utiliser vi, étant donné que c'est l'éditeur par excellence et qu'on le retrouve sur toute version d'unix confondues (Evite soigneusement emacs dans la mesure ou tu devras jouer avec un tas de codes immondes a la c-x c-v incompréhensibles qui t'obligeront a te tordre les doigts dans tous les sens pour pouvoir atteindre les bonnes touches du clavier et que tu ne trouve pas cet engin nativement sur tous les unix)).
    • [^] # Re: vi ....

      Posté par  . Évalué à 1.

      O_o .....
      ah bah ouais , j'ai pas pensé à utiliser cet éditeur pour modifier le texte....

      Juste pour la précision (désolé si les questions semble un peu basique , je débute sous linux) :

      - pour ajouter la ligne , est-ce qu'un - echo "ma ligne" - suffit ???
      - si je tape 'esc+x' dans mon script bash il peut le prendre ???


      Enfin pour explication, utilité du programme :

      interface Bash/CGI pour la gestion des ACL sous apache (dans le fichier je dois donc ajouter des lignes Allow From ou Deny )

      Merci beaucoup pour les réponses , je teste tout ça et j'appelle à l'aide si vraiment je n'avance pas ^o^
      • [^] # Re: vi ....

        Posté par  . Évalué à 2.

        Ben disons que tun ne précise pas si tu es débutant ou non :)

        Sinon pour éviter de taper direct dans le httpd.conf, il existe une directive include qui pourrait t'aider:

        Include
        Include filename
        Server config
        filename points to a file that will be included in the Config file in place of this directive.


        tu fais un include monfichier et tu modifies monfichier ....
  • # sed ou tr

    Posté par  (site web personnel) . Évalué à 3.

    sed -e "/$chaine_precise/$chaine_precise$chaine_a_rajouter/w httpd.conf.new" httpd.conf

    ou tu dois pouvoir le faire avec la commande "tr"
    • [^] # Re: sed ou tr

      Posté par  . Évalué à 2.

      Faudrait m'expliquer l'intéret de le faire ainsi plutot que d'éditer directement le fichier en question ...
      • [^] # Re: sed ou tr

        Posté par  (site web personnel) . Évalué à 2.

        Pour plannifier des modifications sur tes serveurs webs à 5h du matin par exemple
        • [^] # Re: sed ou tr

          Posté par  . Évalué à 2.

          Me parait risqué comme méthode ..... surtout sur de la prod.

          Dans ce cas de figure, si tous les fichiers de conf sont identiques, je modifie un fichier, et je fais ensuite une copie sur tous les serveurs.

          Si ils ne sont pas tous ideniques, je préfère me taper les modifs à la main, même si ca prend plus de temps.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.