En effet, il vaudrait mieux.
De rien ;)Citation:
En tout cas merci à tous pour cette aide.
Ciao.
Version imprimable
Bonjour,
Je dois faire une modification à ce script car il se trouve que la donnée qui a été substituée, l'a été par une date format "YYYYMM". Or dans le fichier cette date est sous forme "YYYYMMDD".
Le problème rencontré est sur la validité de la date lorsque le Jour = 31 et que le mois demandé ne fait que 29/29 ou 30 jours.
En somme si MM in ('01','03','05','08','10','12') ==> RAS
si MM in ('04','06','09','11') substituer 31 par 30
si MM = '02' alors substituer 29 ou 30 ou 31 par 28
Comme puis-ja faire cela ?
Dois-je modifier la commande :
Code:
1
2 nawk -v IDMOIS=${idmois} '{if (/30076.*2019/ || /10468.*224[0567]/) {print substr($0,1,4) IDMOIS substr($0,11)} }' $ficold > $fic 12/05/2011 16h29
Est-ce qu'on aurait pas un Problème X-Y ici ? :)
En gros, ça serait mieux de savoir dés le départ quel est le but final... parce que si ça se trouve, depuis le début, on te propose quelque chose alors que ça n'est pas le plus adapté !
Donc est-ce que ton problème, ça ne serait pas que tu as des dates dans un fichier, mais que tu veux retrancher/ajouter un certain nombres de jours ou de mois à ces dates ?
C'est fait dans cette nouvelle discussion :
http://www.developpez.net/forums/d11...e/#post6095132
Le problème n'est pas de retrancher ou ajouter un certain nombre de jours à des dates.
La première chose était de filtrer des enregistrements selon la règle de gestion suivante.
Je prends l'enregistrement si dans la ligne on a des doublons COD1 et COD2 (pour ne pas compliquer l'affaire, je ne tiens pas compte de la position des champs dans la ligne car c'est pour un des tests en dev que je fais cela).
COD1 = 30076 et COD2 = 2019
COD1= 10468 et COD2 IN (2240, 2245, 2246, 2247)
Si la sélection de la ligne est validée alors je remplace mon champ ANNEE_MOIS (YYYYMM), trouvé en position 5à10, par le paramètre en entrée.
Mais voilà le problème :cry:
Maintenant, ayant remplacé ce champ ANNEE_MOIS, il se trouve que dans mon fichier initial nous étions sur un mois avec 31 jours, hors le mois en paramétrage ne comporte que 30 jours.
Suite à cela, lorsque je vais alimenter ma table avec ce fichier de données c'est ERROR !!!
Donc pour mon alimentation, soit :
Je zappe ce genre d'enreg
Je modifie le jour de ce genre d'enreg.
Ai-je été clair ?
a++