Forum Programmation.shell script bash avec sed

Posté par  .
Étiquettes : aucune
0
12
sept.
2007
bonjour,



j'essaie de faire un petit script shell qui pourrait prendre tout les fichier d'un répertoire et remplacer les chaînes de caractères "add" et "mov" par ces même chaîne en majuscule ( c'est à dire "ADD" et "MOV") avec l'utilitaire SED , mais je n'y arrive pas , je n'arrive pas a trouver la bonne expression , est ce que quelqu'un pourrait me fournir un exemple ...



merci d'avance
  • # sans doute pas le top

    Posté par  . Évalué à 2.

    sed -e s/add/ADD/g -e s/mov/MOV/g
  • # script bash avec sed

    Posté par  . Évalué à 4.

    $ sed -i -e 's/\(add\|mov\)/\U\1\E/g' *

    Tu peux rajouter autant de mots que tu veux entre \( et \)

    Cordialement

    Etienne
    • [^] # Re: script bash avec sed

      Posté par  . Évalué à 1.

      merci bien

      je test en je repost si besoin
    • [^] # Re: script bash avec sed

      Posté par  . Évalué à 1.

      encore un petit souci ...
      que dois je rajouter pour que "remove" ne devienne pas "reMOVe"?
      merci encore
      • [^] # Re: script bash avec sed

        Posté par  . Évalué à 5.

        que dois je rajouter pour que "remove" ne devienne pas "reMOVe"?

        Il faut entourer la chaine à "matcher" par \< (début de mot) et \> (fin de mot)

        $ sed -i -e 's/\<\(add\|mov\)\>/\U\1\E/g' *

        Cordialement

        Etienne

Suivre le flux des commentaires

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