¿Convertir una fecha de época a un formato legible por humanos?

3
echo "$some_string" | awk -F '|' '{print $1 $2}'

$2 es una fecha de época y quiero convertirla a un formato legible por humanos. Intenté hacer date -r $2 pero no tuve suerte.

    
pregunta user9980782 23.06.2018 - 03:54

2 respuestas

3

Si puedes obtener GNU awk en tu mac (a través de homebrew), puedes hacerlo:

gawk '{print $1, strftime("%Y-%m-%d %H:%M:%S", $2)}'

conduzca su formato de fecha y hora para que se adapte.

De lo contrario, puede llamar a la fecha desde el interior de awk:

awk '{
    cmd = "date -d \"@" $2 "\" \"+%Y-%m-%d %H:%M:%S\""
    cmd | getline datetime
    close(cmd)
    print $1, datetime
}'

No tengo acceso a un mac, por lo que deberás ajustar tus argumentos de fecha en consecuencia.

    
respondido por el glenn jackman 23.06.2018 - 05:09
2
echo "$some_text" | awk -F'|' '{
    cmd = "date -r "$2" \"+%Y-%m-%d %H:%M:%S\""
    cmd | getline datetime
    close(cmd)
    print "text: "$1 "\ndate: "datetime"\n"
}'
    
respondido por el user9980782 25.06.2018 - 03:20

Lea otras preguntas en las etiquetas