6 votos

Imprimir la fecha actual con precisión de fracciones de segundos

GNU date(1) entiende la %N Especificaciones de formato, que nanosegundos, así:

$ date +%H:%m:%S.%N

salidas 19:10:03.725196000

Fecha BSD no entiende %N. ¿Cómo puedo imprimir la hora actual con precisión de fracciones de segundos en OS X?

6voto

asterite Puntos 3218

Como usted dijo, BSD date no admite %N. Así que la solución sencilla es descargar GNU date e instalarlo a ~/bin o /usr/local/bin y llame cuando necesite usar %N.

Sin embargo, yo no recomendaría la sustitución de la versión que se incluye con su mac con la nueva. La mayoría de estos coreutil programas están escritos de tal forma que su salida puede ser entendido por otros programas, no necesariamente a los seres humanos. Así que la fiabilidad en la producción es una necesidad. Puede haber varios scripts en tu mac que analizar la salida de BSD s date y los posibles cambios introducidos por la sustitución con GNU podría o no romper cosas.


La forma más sencilla de hacer esto de manera segura en un mac es el uso de homebrew e instalar coreutils.

brew info coreutils
coreutils 8.16
http://www.gnu.org/software/coreutils
...   
==> Caveats
All commands have been installed with the prefix 'g'.

El GNU equivalente será nombrado grate y se encuentra en /usr/local/Cellar/coreutils/8.16/bin/. También puede configurar un alias en su .bashrc o su equivalente como

alias date='gdate'

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X