AWK pour Windows : Problème aléatoire et étrange
Bonjour,
En utilisant AWK (1.3.3) pour Windows, nous avons rencontré un problème aléatoire et étrange.
Nous utilisons AWK pour découper des fichiers csv afin de les intégrer plus facilement dans notre application. Les fichiers arrivent toutes les 9 minutes et sont découpés puis chargés et cela toute la journée. Le problème est que certaines fois les fichiers ne sont pas découpés, cela peut arriver une ou plusieurs fois dans la même journée ou aucune fois.
Est-ce que quelqu’un a déjà rencontré ce problème et a une idée de la cause ?
Utilisation :
REM arg1 = file to split
REM arg2 = max size
REM arg3 = destination folder
REM arg4 = AWK folder
REM If file arg1 size is smaller than arg2 then use column 1 else use column 3
cd %3 & if %~z1 LSS %2 (%4awk -F; "{print >> $1\".csv\"}" %1) else (%4awk -F; "{print >> $3\".csv\"}" %1)
Merci pour vos retours.
En utilisant AWK (1.3.3) pour Windows, nous avons rencontré un problème aléatoire et étrange.
Nous utilisons AWK pour découper des fichiers csv afin de les intégrer plus facilement dans notre application. Les fichiers arrivent toutes les 9 minutes et sont découpés puis chargés et cela toute la journée. Le problème est que certaines fois les fichiers ne sont pas découpés, cela peut arriver une ou plusieurs fois dans la même journée ou aucune fois.
Est-ce que quelqu’un a déjà rencontré ce problème et a une idée de la cause ?
Utilisation :
REM arg1 = file to split
REM arg2 = max size
REM arg3 = destination folder
REM arg4 = AWK folder
REM If file arg1 size is smaller than arg2 then use column 1 else use column 3
cd %3 & if %~z1 LSS %2 (%4awk -F; "{print >> $1\".csv\"}" %1) else (%4awk -F; "{print >> $3\".csv\"}" %1)
Merci pour vos retours.
2 réponses
-
Contributeurhello
sur Windows, je passerais par un fichier de commande plutot que par la ligne de commandeC:> type f1.awk
BEGIN {FS=";"} {print >> $1 ".csv"}
C:> type f2.awk
BEGIN {FS=";"} {print >> $3 ".csv"}
cd %3 & if %~z1 LSS %2 (%4awk -f f1.awk %1) else (%4awk -f f2.awk %1) -
salut,
"découper" ? selon quel critère ? je ne vois qu'une redirection vers un fichier dont le nom est le premier ou le deuxième champ du fichier.
le reste je ne le comprends pas : je ne "parle" pas ce langage.
une observation fine (avecod -c
?) du fichier, qui n'est pas "découpé", pourrait montrer des différences, qui justifieraient ce comportement erratique.-
Salut,
Merci pour votre retour.
C'est un fichier .bat qui contient ce code :
Si la taille du fichier est inférieure à la taille max alors on découpe selon le contenu de la colonne 1 sinon selon la colonne 3, d'où le $1 et $3 devant la commande awk.
Ce qui est étrange, c'est que quand je remets les fichiers non découpés dans le répertoire d'import, ils sont découpés, comme s'il y avait un évènement Windows qui empêchait le découpage la première fois. -
@Ham1987Salut,
Les fichiers arrivent toutes les 9 minutes et sont découpés[...]
Es-tu sûr que les fichiers sont complètement transférés lors de leur traitement ?.
comme s'il y avait un évènement Windows qui empêchait le découpage la première fois.
Ça pourrait être une des causes de leur non-découpage ;-\ -
@UnGarsOui, les fichiers sont bien transférés, le .bat de découpage n'est exécuté qu'une fois le fichier est bien transféré.
-