Regroupement de commandes sed

Salut,

question relativement superficielle, je souhaiterais pour des raisons de lisibilité, regrouper différentes commandes de substitution dans un même script. Commande originale :

SED "s/%%windir%%\\system32\\/%%SystemRoot%%\\System32\\/gi;s/%%windir%%\\/%%SystemRoot%%\\/gi;s/%%Homedrive%%\\/%%SystemDrive%%\\/gi;s/%%Temp%%\\/%%Temp%%\\/gi" 2.txt > 3.txt


Forme souhaitée :

SED {"s/%%windir%%\\system32\\/%%SystemRoot%%\\System32\\/gi
         s/%%windir%%\\/%%SystemRoot%%\\/gi
         s/%%Homedrive%%\\/%%SystemDrive%%\\/gi
         s/%%Temp%%\\/%%Temp%%\\/gi"} 2.txt > 3.txt


bon bien sur j'ai testé avec l'accolade et diverses combinaisons dans le genre, sans succès. Je voudrais juste pouvoir utiliser une ligne par motif comme ci-dessus. Je ne souhaite pas utiliser un script .sed externe.

Est-ce que c'est possible ?

Merci

6 réponses

  1. Contributeur
    bon... c'est pas dramatique non plus, juste une histoire d'aération de code.

    Ceci dit c'est possible sous linux ce qui est déjà une info intéressante.

    Merci
    1. Modérateur
      A part te dire de migrer sous GNU/Linux, désolé je n'ai pas d'autres idées ;-(
      1. Contributeur
        Malheureusement les lignes suivantes sont interprétées comme des commandes externes, et la première bloque sed qui n'a pas l'air de comprendre ce \ avec l'option s :(
        1. Modérateur
          Mets un anti-slash avant de revenir à la ligne :
          sed "\
          s/%%windir%%\\system32\\/%%SystemRoot%%\\System32\\/gi\
          s/%%windir%%\\/%%SystemRoot%%\\/gi\
          s/%%Homedrive%%\\/%%SystemDrive%%\\/gi\
          s/%%Temp%%\\/%%Temp%%\\/gi\
          "  2.txt > 3.txt
          sans conviction ;-(
          1. Contributeur
            zut, ça n'a pas l'air de marcher sous windows, le prompt reste bloqué sur

            SED "


            pas mieux en ramenant la deuxième ligne après le premier guillemet. Tu aurais une idée ?
            1. Modérateur
              Salut,
              sed "
              s/%%windir%%\\system32\\/%%SystemRoot%%\\System32\\/gi
              s/%%windir%%\\/%%SystemRoot%%\\/gi
              s/%%Homedrive%%\\/%%SystemDrive%%\\/gi
              s/%%Temp%%\\/%%Temp%%\\/gi
              "  2.txt > 3.txt
              ;-))