Retourner aux forums || Retourner au forum Programmation.shell
Programmation.shell : Conversion date - Epoch
Posté par TuxPierre () le 09 novembre 2006
Salut,
J'ai un petit souci. Je dois analyser un fichier de log afin d'en sortir differentes info (avec classement par jour). Seulement les dates sont stockees au format epoch dans mon fichier de log (1163060533 pour Thu Nov 9 09:22:13 CET 2006).
Je ne sais donc pas comment faire pour pouvoir faire une recherche par jour dans mon fichier. Mon "analyseur" est en bash et je voulais savoir s'il existait un moyen simple de faire cette recherche ou alors de convertir une date en epoch (ou reciproquement) "facilement".
Precision: mon script sera surement porte sur *BSD et la par contre, la commande date a une jolie option -r qui converti une entree au format Epoch en date. Mais comme je veux une solution un minimum portable.. et aussi eviter de faire des date -r xxx | grep mon_jour..
Si qqn a une idee..
Merci
J'ai un petit souci. Je dois analyser un fichier de log afin d'en sortir differentes info (avec classement par jour). Seulement les dates sont stockees au format epoch dans mon fichier de log (1163060533 pour Thu Nov 9 09:22:13 CET 2006).
Je ne sais donc pas comment faire pour pouvoir faire une recherche par jour dans mon fichier. Mon "analyseur" est en bash et je voulais savoir s'il existait un moyen simple de faire cette recherche ou alors de convertir une date en epoch (ou reciproquement) "facilement".
Precision: mon script sera surement porte sur *BSD et la par contre, la commande date a une jolie option -r qui converti une entree au format Epoch en date. Mais comme je veux une solution un minimum portable.. et aussi eviter de faire des date -r xxx | grep mon_jour..
Si qqn a une idee..
Merci
> Lire le message (1 commentaire, moyenne: 3).
awk
Posté par
Plop () le 09/11/2006 à 09:29. (lien). Évalué à 3.
awk peut être la solution.
exemple :
echo 1163060533 ceci est un log | awk '{ $1=strftime("%c",$1); print }'
Thu Nov 9 09:22:13 2006 ceci est un log
ou perl
perl -e 'print (my $time= localtime 1144279759, "\n")'
je ne connais pas assez les *BSD pour savoir si c'est portable :-/ mais tu as juste demandé une idée ;-)
--
http://linuxfr.org/board <-- des moules, du sang, de la violence
http://linuxfr.org/board <-- des moules, du sang, de la violence
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.shell



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.