
Envoyé par
jfg59
Pourriez vous me dire si il exite un script qui pourrait me convertir les dates de toutes les lignes du fichiers en format date lisible (JJ/MM/YY HH:MM:SS)
il doit y avoir ponctuellement pour telle ou telle application des scripts qui parsent les accesslogs dans un but précis, mais pas d'outil "générique" à ma connaissance, pour ma part j'ai l'habitude de faire mon propre petit parser en cas de besoin (à coups de Perl par exemple)
de manière générale c'est la fonction mktime() (disponible dans la plupart des langages usuels) qui permet moyennant une chaine de formatage de récupérer un timestamp, et à l'inverse la fonction strftime() permet en fournissant un timestamp de récupérer une chaine formatée
edit: bon en fait après test j'ai pas réussi à utiliser le trick en bash4 depuis un bash > 4 dans cygwin 
sinon dans le même genre directement avec date :
1 2 3 4
| $ date +%s
1364653894
$ date -d@1364653894 +"%Y %m %d"
2013 03 30 |
et pour formater le log directement, pourquoi pas passer par awk en l'occurence, quelque chose du genre doit faire l'affaire :
awk '{$1=strftime("%d/%m/%Y %H:%M:%S",$1); print}' fichier
en admettant que le premier champ de chaque ligne soit donc le timestamp
Partager