Como @ TomMcKenzie dice en un comentario a otra respuesta, date -r 123456789
es discutiblemente más común (es decir más ampliamente implementado) solución simple para los tiempos dados como segundos desde el Unix Epoch, pero desafortunadamente no hay una solución portátil universal garantizada.
La opción -d
en muchos tipos de sistemas significa algo completamente diferente a la extensión --date
de la fecha de GNU. Lamentablemente, GNU Date no interpreta -r
de la misma forma que estas otras implementaciones. Por lo tanto, desafortunadamente debe saber qué versión de date
está usando, y muchos comandos anteriores de Unix date
no admiten ninguna de las opciones.
Lo que es peor, POSIX date
reconoce ni -d
ni -r
y no proporciona ninguna manera estándar en cualquier comando en absoluto (que yo sepa) para dar formato a un tiempo de Unix desde la línea de comandos (ya que POSIX Awk también carece strftime()
). (No se puede utilizar touch -t
y ls
porque el primero no acepta un momento dado como segundos desde el Epoch Unix.)
Nota pesar de que el único y verdadero Awk disposición directa de Brian Kernighan tiene ahora que la función strftime()
incorporado así como una función systime()
para devolver el tiempo actual en segundos desde la Época Unix), por lo que quizás la solución Awk sea la más portátil.
¿Qué shell está utilizando? ¿Intento? Zsh? ¿Guión? –
Bash - se olvidó de mencionar! – chimeracoder
posible duplicado de [Cómo convertir marcas de tiempo a fechas en bash?] (Http://stackoverflow.com/questions/2371248/how-to-convert-timestamps-to-dates-in-bash) – user