awk : aggregation de données
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:
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:
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:
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,