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


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

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

Respuestas:


3

Si puede obtener GNU awk en su mac (a través de homebrew), puede hacer:

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

condimente su formato de fecha y hora a su gusto.

De lo contrario, puede llamar a date desde awk:

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

No tengo acceso a una Mac, por lo que deberá ajustar sus argumentos de fecha en consecuencia.


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"
}'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.