J'installe un horodatage dans un bloc début:horodatage awk situé dans début du bloc
BEGIN {
timestamp = strftime("%Y%m%d%H%M%S");
}
Je ne met pas à jour à nouveau horodatage dans le reste du script. Je m'attends à ce que l'horodatage ne change pas mais il le fait.
Plus tard dans le script, imprimer $0
à un fichier:
FNR>1{
#do some stuff
print $0 > "/mnt/data/logs/TEST_"timestamp".csv"
...
changements d'horodatage et il continue d'imprimer un nouveau fichier. . . TEST_1.csv, TEST_2.csv. . .
Il fonctionne comme prévu sur un petit fichier, mais quand j'utilise un fichier de données complet, il imprime plusieurs fichiers
Quelque chose doit modifier 'timestamp'. Pouvez-vous montrer le reste du code? Quel 'awk' est-ce? –
Je suis incapable de reproduire cela en utilisant un fichier de 5 millions de lignes. –
Le bloc BEGIN est invoqué une seule fois, quel que soit le nombre de lignes ou de fichiers. Peut-être que vous appelez le script plus d'une fois? – karakfa