Unter Linux können Sie ein Datum wie "2010-10-02" in ein Unix-Zeitstempel im Shell-Skript von konvertieren
date -d "2010-10-02" "+%s"
Da Mac OS nicht das entsprechende -d für date hat. Wie gehen Sie vor, um ein Datum in einen Unix-Zeitstempel in einem Shell-Skript zu konvertieren.
man date
unter OSX hat dieses Beispiel
date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s"
Was ich denke macht was du willst.
Sie können dies für ein bestimmtes Datum verwenden
date -j -f "%a %b %d %T %Z %Y" "Tue Sep 28 19:35:15 EDT 2010" "+%s"
Oder verwenden Sie ein beliebiges Format.
date +%s
Dies funktioniert gut für mich unter OS X Lion.
date -j -f "%Y-%m-%d" "2010-10-02" "+%s"
Ich habe folgendes unter Mac OSX verwendet.
currDate=`date +%Y%m%d`
epochDate=$(date -j -f "%Y%m%d" "${currDate}" "+%s")
Alternativ können Sie das Datum GNU wie folgt installieren:
brew install coreutils
alias date="/usr/local/bin/gdate"
date +%s
1547838127Der Mac ist "anders", weil OSX auf BSD basiert. BSD-Hilfsprogramme werden tendenziell konservativ aktualisiert, während GNU -Tools weitere Verbesserungen aufweisen.
Wirklich, wenn Sie die meiste Zeit in Linux verbringen, aber einen Mac-Desktop haben, möchten Sie den Mac wahrscheinlich wie Linux arbeiten lassen. Siehe auch: Docker. Es macht keinen Sinn, sich an zwei verschiedene Optionen zu erinnern.