2012-08-29 13 views
15

In meinem Bash-Skript auf Mac (Schneeleopard) habe ich einen Pfad und einen Dateinamen, und ich brauche das modifizierte Datum/Uhrzeit dieser Datei. Ich fand, ich könnte tun:
stat -f "%m" $MYFILEformatiert Datum/Uhrzeit der Datei auf Mac Bash formatiert?

Allerdings gibt das, was ich annimmt, ist Epoche Datum/Zeit. Ich brauche das Datum/Uhrzeit formatiert: YYYYMMDDThhmmss. Ich habe alle möglichen Optionen gefunden (wie date), die anscheinend von GNU abhängen, die ich auf meinem Mac nicht habe.

Was ist der Standard Weg, um eine Datei Datum/Uhrzeit in einem benutzerdefinierten Format auf Mac (BSD?) Bash geändert zu bekommen. Oder zumindest eine Datums-/Zeitformatierungsfunktion, über die ich das Ergebnis meines oben genannten Aufrufs stat weiterleiten kann.

Antwort

28

Es ist eigentlich ziemlich einfach ist, aber unterschiedlich genug von GNU date, dass es bei weitem nicht offensichtlich ist:

date -r $TIMESTAMP +%Y%m%dT%H%M%S 

stat Um die Formatierung zu tun:

stat -f "%Sm" -t "%Y%m%dT%H%M%S" FILE 
+2

Dank! Wow, ich wünschte, ich hätte vor Stunden gefragt! –

+1

Endlich eine einfache, auf den Punkt, keine pompöse und effektive Antwort auf diese Frage! Ich kann nicht glauben, wie viele Leute denken, dass es mir wirklich wichtig ist, alle 1.000 Modifikatoren von stat- oder date-Befehlen zu lernen ... gib einfach den Befehl, der funktioniert und das wars !! DANKE VIELMALS! –

+0

wow, ich lese 'man stat' und konnte das nicht herausfinden. – wisbucky