Come hai detto, BSD date
non supporta %N
. Quindi la soluzione più semplice è scaricare GNU date
e installarlo su ~/bin
o /usr/local/bin
e chiamarlo quando è necessario utilizzare %N
.
Tuttavia, non consiglierei di sostituire la versione fornita con il tuo Mac con quella nuova. La maggior parte di questi programmi coreutil sono scritti in modo tale che il loro output possa essere compreso da altri programmi , non necessariamente dagli umani, quindi l'affidabilità dell'output è una necessità. Ci potrebbero essere diversi script nel tuo mac che analizzano l'output di BSD date
e qualsiasi possibile modifica introdotta sostituendo con GNU potrebbe o non potrebbe rompere le cose.
Il modo più semplice per farlo in sicurezza su un Mac è utilizzare homebrew
e installare coreutils.
brew info coreutils
coreutils 8.16
http://www.gnu.org/software/coreutils
...
==> Caveats
All commands have been installed with the prefix 'g'.
L'equivalente GNU sarà denominato gdate
e si trova in /usr/local/Cellar/coreutils/8.16/bin/
. Puoi anche impostare un alias in .bashrc
o equivalente come
alias date='gdate'