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.