Bonjour,
J'avais ouvert une discussion sur une methode pour substituer une chaine de caractère sur tout un fichier.
le point a été résolu :
http://www.developpez.net/forums/d10...r/#post6095019
Or 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 28, 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, 30 ou 31 par 28
Comme puis-ja faire cela ?
La commande awk existante :
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part nawk -v IDMOIS=${idmois} '{if (/30076.*2019/ || /10468.*224[0567]/) {print substr($0,1,4) IDMOIS substr($0,11)} }' $ficold > $fic
Partager