Salut
j'ai un fichier log ou toutes mes dates heures minutes secondes sont en chiffres je voudrai connaitre un moyen rapide pour les convertir en valeur type jj/mm/aaaa hh/mm/ss
Merci de bien vouloir m'aider
A+
SI c'est en aaaammjjhhmmss, tu peux essayer ça: awk '{print substr($1,1,4)"/"substr($1,5,2)"/"substr($1,7,2)"\t"substr($1,9,2)":"substr($1,11,2)":"substr($1,13,2)"}'
et tu peux même faire suivre avec tes autres entrées de log en ajoutant des $2, $3, ... (si tes colonnes sont séparées par des tabulations, tu peux mettre -F "\t" en argument de awk)
si c'est en epoch (nombre de secondes écoulées depuis le 1er Janvier 1970), il y a ça (même si c'est un peu gruiiik): date +%d/%m/%Y" "%H:%M:%S -d "1 jan 1970 $epoch seconds"
oui c'est le cas des secondes écoulées depuis le 1 janvier 1970
En fait le l'ai sous la forme de listing donc je ne peux pas le convertir avec la ligne de commande que tu m'as donné est ce qu'il existe un logiciel à telecharger
Merci de toute façon car maintenant je sais que cela s'appelle "epoch
Non, il n'existe pas de logiciel à télécharger* ... il faut juste faire un 'man awk', et la solution apparaîtra: strftime
Par exemple: awk -F "\t" '{print strftime("%d/%m/%y %H:%M:%S",$1)"\t"$2}'
dans ce cas, la 1° colonne contient l'epoch, et est mise au format "dd/mm/yy hh:mm:ss", et la deuxième est recopiée telle quelle. J'ai supposé que tes colonnes sont séparées par des tabulations (vu la quantité d'informations que tu donnes, il faut bien supposer).
Si tu veux autre chose, tu peux facilement adapter cette ligne.
*: enfin peut-être, mais cela en vaut-il la peine, vu la simplicité du problème?
# Bonjour
Posté par Khâpin (site web personnel) . Évalué à 3.
SI c'est en aaaammjjhhmmss, tu peux essayer ça:
awk '{print substr($1,1,4)"/"substr($1,5,2)"/"substr($1,7,2)"\t"substr($1,9,2)":"substr($1,11,2)":"substr($1,13,2)"}'
et tu peux même faire suivre avec tes autres entrées de log en ajoutant des $2, $3, ... (si tes colonnes sont séparées par des tabulations, tu peux mettre -F "\t" en argument de awk)
si c'est en epoch (nombre de secondes écoulées depuis le 1er Janvier 1970), il y a ça (même si c'est un peu gruiiik):
date +%d/%m/%Y" "%H:%M:%S -d "1 jan 1970 $epoch seconds"
Voilivoilou
[^] # Re: Bonjour
Posté par techni . Évalué à 1.
En fait le l'ai sous la forme de listing donc je ne peux pas le convertir avec la ligne de commande que tu m'as donné est ce qu'il existe un logiciel à telecharger
Merci de toute façon car maintenant je sais que cela s'appelle "epoch
[^] # Re: Bonjour
Posté par Khâpin (site web personnel) . Évalué à 2.
Par exemple:
awk -F "\t" '{print strftime("%d/%m/%y %H:%M:%S",$1)"\t"$2}'
dans ce cas, la 1° colonne contient l'epoch, et est mise au format "dd/mm/yy hh:mm:ss", et la deuxième est recopiée telle quelle. J'ai supposé que tes colonnes sont séparées par des tabulations (vu la quantité d'informations que tu donnes, il faut bien supposer).
Si tu veux autre chose, tu peux facilement adapter cette ligne.
*: enfin peut-être, mais cela en vaut-il la peine, vu la simplicité du problème?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.