[PERL] Modifier date de fichier log

Résolu
TMart Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
TMart Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
TMart Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   7
 
... Respect, j'y suis depuis hier.
J'étais pas loin mais la y'a rien à dire à part, MERCI !
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
on peut simplifier, sans le while et le print
perl -pe 's=([0-9]*)/([0-9]*)/([0-9]*)=\3-\2-\1='
1
TMart Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   7
 
Exact ! Cela marche aussi.
0
TMart Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   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 ? :)
0