Erreur SED dans un script Shell
Fermé
pcsystemd
Messages postés
700
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
29 juillet 2024
-
26 juin 2009 à 11:37
pcsystemd Messages postés 700 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 29 juillet 2024 - 26 juin 2009 à 15:16
pcsystemd Messages postés 700 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 29 juillet 2024 - 26 juin 2009 à 15:16
A voir également:
- Erreur SED dans un script Shell
- Erreur 0x80070643 - Accueil - Windows
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
5 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 897
26 juin 2009 à 11:52
26 juin 2009 à 11:52
Salut,
Pour la 1ère erreur, j'ai l'impression qu'il y a soucis avec les quotes, et qu'il n'arrive pas à délimiter la fin de ton expression. L'expression entière contient 138 caractères, et l'erreur se situe au 162 ème caractère, ce qui me fait dire que les quotes sont à l'origine du problème...
Essaie d'écrire la même expression sans les quotes, du style :
Pour la 2nd, essaie comme ça :
Pour la 1ère erreur, j'ai l'impression qu'il y a soucis avec les quotes, et qu'il n'arrive pas à délimiter la fin de ton expression. L'expression entière contient 138 caractères, et l'erreur se situe au 162 ème caractère, ce qui me fait dire que les quotes sont à l'origine du problème...
Essaie d'écrire la même expression sans les quotes, du style :
sed '/^/{s/.*/INSERT IGNORE INTO matable1 (activ,mail) VALUES (1,blabla);\n\INSERT INTO matable2 (id,tid) VALUES(LAST_INSERT_ID(),507);/}' /monrepertoire/monfichier.sqlet voir si ça passe...
Pour la 2nd, essaie comme ça :
sed -e '1i\ BEGIN;' /monrepertoire/monfichier.sql
pcsystemd
Messages postés
700
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
29 juillet 2024
23
26 juin 2009 à 12:58
26 juin 2009 à 12:58
Merci jipicy.
Cela a résolu une erreur mais pas la premiere. Voici l'erreur :
Ce qui est curieux c'est que si je créais en test un script shell uniquement avec cette ligne de commande cela fonctionne parfaitement . Juste pour le détail dans mon script j'ai des doubles cotes :
Peux être une piste?
Cela a résolu une erreur mais pas la premiere. Voici l'erreur :
+ sed '/^/{s/.*/INSERT IGNORE INTO matable1 (activ,mail) VALUES (1,&);\n\INSERT INTO matable2 (id,tid) VALUES(LAST_INSERT_ID(),507);/}' /monrepertoire/monfichier.sql sed: -e expression #1, char 160: Unknown option to 's'
Ce qui est curieux c'est que si je créais en test un script shell uniquement avec cette ligne de commande cela fonctionne parfaitement . Juste pour le détail dans mon script j'ai des doubles cotes :
sed "/^/{s/.*/INSERT IGNORE INTO matable1 (activ,mail) VALUES (1,&);\n\INSERT INTO matable2 (id,tid) VALUES(LAST_INSERT_ID(),507);/}"
Peux être une piste?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
26 juin 2009 à 13:57
26 juin 2009 à 13:57
Arf ;-((
VALUES (1,&);VALUES (1,&);
Il faut protéger l'éperluette sans quoi elle est interprétée par "sed" et remplacer par tout ce qui matche ".*" dans le motif ;-(((
VALUES (1,&);VALUES (1,&);
Il faut protéger l'éperluette sans quoi elle est interprétée par "sed" et remplacer par tout ce qui matche ".*" dans le motif ;-(((
VALUES (1,\&);VALUES (1,&);
pcsystemd
Messages postés
700
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
29 juillet 2024
23
26 juin 2009 à 14:34
26 juin 2009 à 14:34
Toujours pareil erreur même en protégeant l'eperluette :
sed: -e expression #1, char 161: Unknown option to 's'
Merci
sed: -e expression #1, char 161: Unknown option to 's'
Merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
26 juin 2009 à 14:49
26 juin 2009 à 14:49
Tu peux me faire passer ton fichier "sql" (en MP si nécessaire) que je vois ce qu'il en est en live ;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pcsystemd
Messages postés
700
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
29 juillet 2024
23
26 juin 2009 à 15:16
26 juin 2009 à 15:16
C'est fait jipicy je t'ai mis en MP le contenu de mon fichier sql que SED doit traité ainsi que mon script shell en entier comme cela tu as tout.
Merci
Merci