Forum Programmation.java Recherche_remplace multiple

Posté par  .
Étiquettes : aucune
0
9
jan.
2009
Bonjour,

Je cherche à écrire un petit bout de script en Java pour faire les actions suivantes

Ouvrir x fichier
parcourir les fichiers
rechercher une chaîne de caractère
remplacer ma chaîne de caractère dans tous les fichiers ouverts
enregistrer les fichiers
fermer le tout

Ne connaissant pas du tout javascript, quelqu'un pourrait il me donner des tuyaux.

Merci d'avance.
  • # java ou javascript?

    Posté par  . Évalué à 10.

    java ou javascript?

    Parce que ce n'est pas du tout la même chose (en dehors d'un nom un peu trompeur en effet)...
  • # o_O

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

    D'une part Java et Javascript n'ont rien à voir du tout. L'un est un langage object compilé et l'autre un langage de script pour le web.

    D'autre part, pourquoi vouloir le faire en Java ? En script shell avec sed c'est faisable beaucoup plus rapidement.

    L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

  • # Pas besoin de java

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

    C'est peut être un peu hors sujet, mais, si tu es sous linux, java n'est pas du tout l'outil le mieux adapté pour ça.

    Le bon outil, c'est sed:

    sed -i "s/AncienneChaine/NouvelleChaine/g' [liste des fichiers]

    Que l'on peut évidemment coupler avec find pour trouver les fichiers.
    • [^] # Re: Pas besoin de java

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

      Plutôt

      sed -i -e '...' fichiers

      sinon la commande va servir d'argument à l'option -i ;
      variante : sed -i.old -e ...-e est facultatif.
      • [^] # Re: Pas besoin de java

        Posté par  . Évalué à 4.

        Pas vraiment, si on suivait ta logique, "-e" servirait d'argument à "-i" (ben oui, le parser n'est pas particulièrement intelligent), en fait l'argument pour "-i" doit être collé à "-i", donc sa réponse initiale était correcte.

Suivre le flux des commentaires

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