Regroupement de commandes sed

Fermé
eZula Messages postés 3392 Date d'inscription samedi 26 avril 2008 Statut Contributeur Dernière intervention 8 mai 2021 - 4 mai 2009 à 18:24
eZula Messages postés 3392 Date d'inscription samedi 26 avril 2008 Statut Contributeur Dernière intervention 8 mai 2021 - 4 mai 2009 à 18:57
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
4 mai 2009 à 18:29
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 3392 Date d'inscription samedi 26 avril 2008 Statut Contributeur Dernière intervention 8 mai 2021 392
4 mai 2009 à 18:35
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
4 mai 2009 à 18:37
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 3392 Date d'inscription samedi 26 avril 2008 Statut Contributeur Dernière intervention 8 mai 2021 392
4 mai 2009 à 18:53
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
4 mai 2009 à 18:54
A part te dire de migrer sous GNU/Linux, désolé je n'ai pas d'autres idées ;-(
0
eZula Messages postés 3392 Date d'inscription samedi 26 avril 2008 Statut Contributeur Dernière intervention 8 mai 2021 392
4 mai 2009 à 18:57
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