Bonjour,
Je cherche avec sed comment remplacer
AA;BB;CC;31-MAR-10;EE;FF
en
AA;BB;CC;20100331;EE;FF
J'ai essaye avec SED plusieurs choses sans succes
Merci d'avance
Philippe
Bonjour,
Je cherche avec sed comment remplacer
AA;BB;CC;31-MAR-10;EE;FF
en
AA;BB;CC;20100331;EE;FF
J'ai essaye avec SED plusieurs choses sans succes
Merci d'avance
Philippe
avec awk :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 BEGIN{ FS=";" OFS=";" } { gsub("MAR","03",$4); $4=gensub(/([0-9][0-9])-([0-9][0-9])-([0-9][0-9])/,"20\\3\\2\\1","",$4); print $0 ; }
Merci
Awk est considére comme "lourd" je vais encore cherché pour SED
Bonjour,
pourquoi sed ?
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $ IFS=';' read un deux trois soleil etc <<< "AA;BB;CC;31-MAR-10;EE;FF" $ echo "$un;$deux;$trois;$(date -d $soleil +%Y%m%d);$etc" AA;BB;CC;20100331;EE;FF $
Ok
Il ne me reste plus qu'a faire une boucle pour tous les mois de l'annee, et a inverser le 310310 en 100331 en plus
Merci
Pas besoin de faire une boucle, tu fais une liste de gsub et c'est parti
Partager