tutorial traduccion script lenguaje bourne autos again bash date epoch

traduccion - bash tutorial



Bash convierte la época en fecha, mostrando el tiempo equivocado (2)

¿Cómo es que la fecha se está convirtiendo en un mal momento?

result=$(ls /path/to/file/File.*) #/path/to/file/File.1361234760790 currentIndexTime=${result##*.} echo "$currentIndexTime" #1361234760790 date -d@"$currentIndexTime" #Tue 24 Oct 45105 10:53:10 PM GMT


Esta marca de tiempo en particular está en milisegundos desde la época, no en los segundos estándar desde la época. Divide por 1000:

$ date -d @1361234760.790 Mon Feb 18 17:46:00 MST 2013


Puedes usar la expansión aritmética de bash para realizar la división:

date -d @$((value/1000))

Tenga en cuenta que " value " es una variable bash con $ opcional. es decir, $value o value puede ser utilizado.