unix timestamp konverzió

Fórumok

Sziasztok,

adott egy xls tábla melynek oszlopaiban egy unix timestamp érték található.Ennek az xls-nek a tartalmát kellene átkonvertálnom dátum formátumra.Az xls vagy 30000sort tartalmaz ezért valamilyen automatikus megoldás kellene.
Van valakinek erre valami jó megoldása?Köszi,
S.

Hozzászólások

Végigmész a sorokon, ahonnan kiolvasod a Unix időt, majd a
perl -e "require 'ctime.pl'; print &ctime($UNIX_IDO);"
segítségével rekurzívan átalakítod.
Például.
--
Coding for fun. ;)

Először csinálj csv-t az xls-ből.
Minta csv:
1,mezo1,mezo2,12312334
2,mezo1,mezo2,12343555

for i in `cat teszt.csv`; do UNIX_IDO=`echo $i | cut -d "," -f 4` ; REPLACED=`date -d @$UNIX_IDO`; echo $i | sed s/"$UNIX_IDO"/"$REPLACED"/g; done

Kimenet:
1,mezo1,mezo2,1970. máj. 23., szombat, 13.05.34 CET
2,mezo1,mezo2,1970. máj. 23., szombat, 21.45.55 CET

--
Coding for fun. ;)

Én lottószámokat bányásztam régebben ki xls fájlból (otos.xls a szerencsejáték honlapjáról letöltve) - mezei módszerekkel, sima bash szkripttel.
Belenézel sima editorral (mcedit) a fájlba és a kívánt környezetet megkeresed, majd mondjuk greppel megszűröd.

(De, ha még nem megy a szkript, akkor passz.)

excelben a datum valos szam: az egesz resz a napo szamat jelenti 1900.1.0 00:00:00-tol.
a tortresz ertelem szeruen az ora, perc, masodperc.
unixben a szamolas 1970.01.01 00:00:00-tol megy masodpercenkenet. a ketto kulonbsege (excel szerint): 25569 nap.

tehat ha A1 cellaban unixtime van, akkor B2-be a keplet: =A1/24/60/60+25569. (a formazast meg atkell allitani datumra)

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!