Nano es 10 y mili 10. Por lo tanto, podemos usar los tres primeros caracteres de nanosegundos para obtener los milisegundos:
date +%s%3N
Desde man date
:
%s segundos desde 1970-01-01 00:00:00 UTC
Fuente:Server Fault ¿Cómo obtengo la hora actual de Unix en milisegundos en Bash? .
date +%s%N
devuelve el número de segundos + nanosegundos actuales.
Por lo tanto, echo $(($(date +%s%N)/1000000))
es lo que necesitas.
Ejemplo:
$ echo $(($(date +%s%N)/1000000))
1535546718115
date +%s
devuelve el número de segundos desde la época, si eso es útil.
-
date +"%T.%N"
devuelve la hora actual con nanosegundos.06:46:41.431857000
-
date +"%T.%6N"
devuelve la hora actual con nanosegundos redondeados a los primeros 6 dígitos, que son microsegundos.06:47:07.183172
-
date +"%T.%3N"
devuelve la hora actual con nanosegundos redondeados a los primeros 3 dígitos, que son milisegundos.06:47:42.773
En general, todos los campos del date
al formato del comando se le puede dar un ancho de campo opcional.