¿Cómo puedo convertir la marca de tiempo de Unix a hh: mm: ss: SSS (donde SSS es milisegundos) en AWK?
Por ejemplo:
echo 1456478048306 > time cat time | awk ....... > readable_time_formatPuedes usar bash para eso:
#!/bin/bash ts="1456478048306" unix_epoch=${ts:0:-3} ms=${ts:((-3)):3} echo "$(date -d@"${unix_epoch}" +%H:%M:%S):${ms}" Por cierto, por supuesto, también puedes usar awk . Sin embargo, awk no permite simplificar mucho las cosas aquí, el algoritmo es más o menos el mismo:
awk -v ts="1456478048306" '{ unix_epoch=substr(ts, 0, length(ts)-3) ms=substr(ts, length(ts)-2, 3) print strftime("%H:%M:%S", unix_epoch) ":" ms }'