Sous Linux, vous pouvez convertir une date telle que "2010-10-02" en un horodatage Unix dans un script Shell en
date -d "2010-10-02" "+%s"
Comme Mac OS n’a pas l’équivalent -d pour date . Comment procédez-vous pour convertir une date en un horodatage Unix dans un script Shell?.
man date
sur OSX a cet exemple
date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s"
Ce que je pense fait ce que vous voulez.
Vous pouvez l'utiliser pour une date spécifique
date -j -f "%a %b %d %T %Z %Y" "Tue Sep 28 19:35:15 EDT 2010" "+%s"
Ou utilisez le format que vous voulez.
date +%s
Cela fonctionne bien pour moi sur OS X Lion.
date -j -f "%Y-%m-%d" "2010-10-02" "+%s"
J'ai utilisé ce qui suit sur Mac OSX.
currDate=`date +%Y%m%d`
epochDate=$(date -j -f "%Y%m%d" "${currDate}" "+%s")
Vous pouvez également installer la date GNU] comme suit:
brew install coreutils
alias date="/usr/local/bin/gdate"
date +%s
1547838127Le Mac est "différent" car OSX est basé sur BSD. Les utilitaires BSD ont tendance à être mis à jour de manière conservatrice, tandis que les outils GNU offrent davantage d'améliorations.
Vraiment, si vous passez le plus clair de votre temps sous Linux, mais que vous avez un bureau Mac, vous voudrez probablement que le Mac fonctionne comme Linux. Voir aussi: Docker. Il ne sert à rien d'essayer de retenir deux ensembles d'options différents.