Regroupement de commandes sed

eZula Messages postés 3391 Date d'inscription   Statut Contributeur Dernière intervention   -  
eZula Messages postés 3391 Date d'inscription   Statut Contributeur Dernière intervention   -
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

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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
eZula Messages postés 3391 Date d'inscription   Statut Contributeur Dernière intervention   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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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
eZula Messages postés 3391 Date d'inscription   Statut Contributeur Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

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