Regroupement de commandes sed

eZula Messages postés 3509 Statut Contributeur -  
eZula Messages postés 3509 Statut Contributeur -
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. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,
    sed "
    s/%%windir%%\\system32\\/%%SystemRoot%%\\System32\\/gi
    s/%%windir%%\\/%%SystemRoot%%\\/gi
    s/%%Homedrive%%\\/%%SystemDrive%%\\/gi
    s/%%Temp%%\\/%%Temp%%\\/gi
    "  2.txt > 3.txt
    ;-))
    0
  2. eZula Messages postés 3509 Statut Contributeur 392
     
    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 ?
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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 ;-(
    0
  4. eZula Messages postés 3509 Statut Contributeur 392
     
    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 :(
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    A part te dire de migrer sous GNU/Linux, désolé je n'ai pas d'autres idées ;-(
    0
  7. eZula Messages postés 3509 Statut Contributeur 392
     
    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
    0