[PERL] Modifier date de fichier log

[Résolu/Fermé]
Signaler
Messages postés
63
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
25 mars 2011
-
Messages postés
63
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
25 mars 2011
-
Bonjour,
J'aurais besoin de modifier la date de mon fichier log. En effet elle est de jour/mois/année et par le biais d'un script Perl je voudrais qu'elle soit classé par année-mois-jour.

Il me semble qu'en sed la commande est : s=^\([0-9]*\)/\([0-9]*\)/\([0-9]*\)=\3-\2-\1

Comment fait-on en Perl s'il vous plait ?

Amicalement TMart.

3 réponses

Messages postés
18294
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 octobre 2021
5 408
hello
$ cat a3
01/03/2010 03:11:50 0001 327 L34
01/03/2010 03:12:59 0002 327 L21
01/03/2010 03:13:42 0003 267 L23
01/03/2010 04:14:49 0004 267 L33 
$ 
$ perl -e 'while(<>){ s=([0-9]*)/([0-9]*)/([0-9]*)=\3-\2-\1=;print}' a3
2010-03-01 03:11:50 0001 327 L34
2010-03-01 03:12:59 0002 327 L21
2010-03-01 03:13:42 0003 267 L23
2010-03-01 04:14:49 0004 267 L33 
$ 

pour modifier directement le fichier, utiliser perl -i -e ...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
63
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
25 mars 2011
7
... Respect, j'y suis depuis hier.
J'étais pas loin mais la y'a rien à dire à part, MERCI !
Messages postés
18294
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 octobre 2021
5 408
on peut simplifier, sans le while et le print
perl -pe 's=([0-9]*)/([0-9]*)/([0-9]*)=\3-\2-\1='
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
63
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
25 mars 2011
7
Exact ! Cela marche aussi.
Messages postés
63
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
25 mars 2011
7
Pour plus de détails mon fichier se présente sous la forme :
01/03/2010 03:11:50 0001 327 L34
01/03/2010 03:12:59 0002 327 L21
01/03/2010 03:13:42 0003 267 L23
01/03/2010 04:14:49 0004 267 L33

Et je souhaiterais qu'il devienne comme ça :
2010-03-01 03:11:50 0001 327 L34
2010-03-01 03:12:59 0002 327 L21
2010-03-01 03:13:42 0003 267 L23
2010-03-01 04:14:49 0004 267 L33

Est-ce possible ? :)