Bonjour,

J'avais déjà eu un problème pour aggréger des données mais là le problème est quelque peu différent :

J'ai un fichier avec plusieurs données dont je ne veux prendre que 4 données. Pour ceci j'utilise la commande pour les sélectionner afin d'avoir un fichier comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
begin
pack_batch.truc("machin","mois"...);
end;
/
exit;
Dans le fichier de données, il peut y avoir des doublons donc je voudrais aggégrer les lignes mais le soucis que j'ai c'est qu'il y a une variable a mettre dans le fichier sql qui ne vient pas du fichier de donnée : mois_ref
Voici ce que j'ai pour commande awk :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
awk -F";" -v mr=$MOIS_REF '\
        BEGIN {print "begin\n"}\
        {\
        sub(/(\047)/,"\047||Chr(39)||\047",$16);\
        sub("&","\047||Chr(38)||\047",$16);\
        _1[$15 ";" mr ";" $16 ";" $47 ";" $65]
        }\
        END {\
        for (i in 5) printf("pack_batch.CreerEmetteurFiliales(%s);\n",i)
            print "end;\n/\nexit\n";\
        }' $FICTRAITE > $TMPCREEEMET
J'ai cette erreur là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
syntax error The source line is 9.
 The error context is
                        for (i in >>>  5 <<< ) printf("pack_batch.CreerEmetteurFiliales(%s);\n",i)
 awk: The statement cannot be correctly parsed.
 The source line is 9.
 awk: The statement cannot be correctly parsed.
 The source line is 10.
 Erreur a la generation des emetteurs manquants
Quelqu'un peut-il m'aider?

Merci d'avance,