Convertir muchas Marcas de Tiempo UNIX (Unix Epoch)

  • Posted on: 15 May 2024
  • By: ReYDeS

Convertir marcas de tiempo una por una es totalmente factible, pero esto puede ser realizado más rápido utilizando el comando “awk”, permitiendo convertir todas las marcas de tiempo a la vez.

La función básica de awk es buscar archivos por lineas u otras unidades de texto, conteniendo ciertos patrones. Cuando una linea coincide con uno de los patrones, awk realiza las acciones especificadas sobre la linea. awk continúa procesando las líneas de entrada de esta manera hasta alcanzar el final de los archivos de entrada.

El propósito del comando a continuación detallado, es de manera rápida y eficiente convertir las marcas de tiempo UNIX epoch hacia un formato comprendido por los seres humanos en UTC, dejando el resto de la línea intacta. Se sugiere explorar la sintaxis de “awk” para cambiar el formato de la fecha a la cual sea requerida. El formato presentado permitirá un ordenamiento cronológico debido a la estructura “big endian”.

$ cat access.log | awk ‘{$1=strftime(“%F %T”, $1, 1); print $0}’

Lo interesante de este método es la posibilidad de ser utilizado con el comando “grep”, u otro comando para manipulación de texto utilizado con el propósito de buscar datos en un archivo log de Squid.

$ grep (Direccion IP) access.log | awk ‘{$1=strftime(“%F %T”, $1, 1); print $0}’

Fuentes:

https://wiki.squid-cache.org/SquidFaq/SquidLogs
https://www.gnu.org/software/gawk/manual/gawk.html
https://en.wikipedia.org/wiki/Unix_time

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
WhatsApp: https://wa.me/51949304030
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
Youtube: https://www.youtube.com/c/AlonsoCaballero
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/