2010-07-26 25 views
-1

Salut je veux convertir ce jour UNIX à ce jour normal (AAAA-MM-JJ)programmation UNIX

22222,0,0,0,14387 
33333,0,0,0,14170 
44444,0,0,0,14244 
55555,0,0,0,14190 
66666,0,0,0,14528 
77777,0,0,0,14200 
88888,0,0,0,0 
99999,0,0,0,0 

ici 5 colonne représente la date UNIX

je veux convertir en

22222,0,0,0,2009-05-23 

et les lignes restantes de même

tout le monde peut m'aider

+4

Langue? Le contexte? Vous allez devoir nous donner quelque chose pour continuer. – Cfreak

+0

duplication possible de [Unix époque temps à Java Date Object] (http://stackoverflow.com/questions/535004/unix-epoch-time-to-java-date-object) –

Répondre

5

Un script awk simple, doit le faire

awk -F, 'BEGIN{OFS=","} { print $1,$2,$3,$4,strftime("%Y-%m-%d",$5) }' myFile.txt 

Vive.

EDIT:
Vous n'utilisez timestamp unix, mais je vérifié vos données, et il semble que vous utilisez jours depuis l'époque, ainsi va ici:

awk -F, 'BEGIN{OFS=","} { print $1,$2,$3,$4,strftime("%Y-%m-%d",$5*86400) }' myFile.txt 
+0

@roe, Ce n'est pas correct. Est-il même possible d'extraire l'année d'une époque en n'utilisant qu'une petite partie? – Anders

+0

@Anders; vous avez raison .. Eh bien, il aurait été correct, si c'était un timestamp unix, mais ils ne sont pas ..: P – falstro

+0

@roe, Votre sortie me donne '22222,0,0,0,1970 -01-01', en regardant la question de l'op, c'est à quelques années d'intervalle. Edit: ouais c'est ce que j'ai pensé aussi. – Anders