IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Shell - Erreur dans une boucle for


Sujet :

Linux

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut Shell - Erreur dans une boucle for
    Bonjour,

    j'ai créé un code qui pour chaque fichier trouvé eécute un sql loader.
    Mais j'ai un problème avec ma boucle for.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for nom in $(ls -1art $rep/fichier_num*.[Tt][Xx][Tt]); 
    do 
     $FIC = ${nom:12:15} 
    echo "LOAD DATA 
    INFILE '$FIC' 
    STREAM 
    BADFILE       '$LOGS/fichier.BAD'  
    DISCARDFILE   '$LOGS/fichier.DISCARD'" > $SRC_SQLLOADER/Chargement.ctl                  
          cat $SRC_SQLLOADER/corps >>$SRC_SQLLOADER/Chargement.ctl 
     
    sqlload $BASE $SRC_SQLLOADER/Chargement.ctl log=$LOGS/fichier.LOG 
    ; 
    done

    j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    syntax error near unexpected token ` 
    for nom in $(ls -1art $rep/fichier_num*.[Tt][Xx][Tt]);
    si quelqu'un peut m'aider merci


    [Edit]
    Balises [code] et [/code] ajoutées par 2Eurocents.
    Merci d'y penser à l'avenir
    [/Edit]

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Si le code que tu donnes est exactement celui que tu exécutes, je ne vois pas d'erreur dans la ligne que tu pointes.

    En revanche, la ligne suivante risque de te poser problème :
    $FIC = ${nom:12:15}
    Il faudrait écrire
    FIC=${nom:12:15}
    Si tu n'as pas besoin de cette variable ailleurs, tu pourrais même faire directement
    INFILE '${nom:12:15}'
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    En fait j'ai besoin de cette variable dans un fichier que j'appelle. ce fichier est le fichier "corps". Mais je ne sais pas s'il est possible de récupérer ce nom dans ce fichier?

    Pour ce qui est de la commande que tu m'as dite, je l'essaye et te dis quoi.
    Merci!

  4. #4
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    J'ai toujours la même erreur.

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 455
    Points : 166
    Points
    166
    Par défaut
    ok c'est bon cela fonctionne, j'ai mis un point virgule en ttrop.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur dans une boucle For
    Par j0joo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/08/2014, 14h41
  2. Réponses: 2
    Dernier message: 02/08/2011, 17h51
  3. [VB-E] Erreur 1004 dans une boucle For
    Par lycaon dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/11/2006, 22h41
  4. [batch] incrémentation dans une boucle for
    Par bart64 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/09/2004, 20h05
  5. Réponses: 3
    Dernier message: 06/07/2004, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo