2012-08-29 8 views
15

W moim skrypcie bash na mac (Snow Leopard) mam ścieżkę i nazwę pliku, i potrzebuję uzyskać zmodyfikowaną datę/czas tego pliku. Zauważyłem, że mogę zrobić:
stat -f "%m" $MYFILEsformatowano zmodyfikowaną datę/czas pliku na bashu mac?

Jednakże zwraca to, co zakładam, datę/czas epoki. Potrzebuję sformatowanej daty/czasu: YYYYMMDDThhmmss. Znalazłem różne opcje (takie jak date), które najwyraźniej zależą od GNU, którego na moim mac nie mam.

Jaki jest standardowy sposób zmiany daty/czasu pliku w formacie określonym przez użytkownika na bashu mac (BSD?). Lub przynajmniej funkcję formatowania daty/godziny, na którą mogę przesłać wynik połączenia stat powyżej.

Odpowiedz

28

To rzeczywiście bardzo proste, ale na tyle różne od GNU date że nigdzie w pobliżu oczywiste:

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

Aby uzyskać stat zrobić formatowanie:

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

dzięki! Wow, chciałbym zapytać kilka godzin temu! –

+1

Wreszcie proste, prosto do punktu, bez pompatyczny i skutecznej odpowiedzi na to pytanie! Nie mogę uwierzyć, ilu ludzi myśli, że tak naprawdę zależy mi na uczeniu się wszystkich 1000 modyfikatorów komend stat lub date ... po prostu daj mi polecenie, które działa i to wszystko !! WIELKIE DZIĘKI! –

+0

wow, przeczytałem "man stat" i nie mogłem tego rozgryźć. – wisbucky

Powiązane problemy