отформатирована измененная дата / время файла на Mac bash?

В моем сценарии bash на Mac (снежный барс) у меня есть путь и имя файла, и мне нужно получить измененную дату/время этого файла. Я обнаружил, что могу:
stat -f "%m" $MYFILE

Однако это возвращает то, что я предполагаю, это дата/время эпохи. Мне нужна дата/время в формате: YYYYMMDDThhmmss. Я нашел всевозможные варианты (например, date), которые, по-видимому, зависят от GNU, которых на моем Mac у меня нет.

Каков стандартный способ изменить дату/время файла в указанном пользователем формате на Mac (BSD?) bash. Или, по крайней мере, функция форматирования даты/времени, которой я могу передать результат моего вызова stat выше.


person David Burson    schedule 29.08.2012    source источник


Ответы (1)


На самом деле это довольно просто, но настолько отличается от GNU date, что это далеко не очевидно:

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

Чтобы заставить stat выполнить форматирование:

stat -f "%Sm" -t "%Y%m%dT%H%M%S" FILE
person chepner    schedule 29.08.2012
comment
Наконец-то простой, прямолинейный, без пафоса и действенный ответ на этот вопрос! Я не могу поверить, как много людей думают, что я действительно забочусь об изучении всех 1000 модификаторов команд статистики или даты... просто дайте мне команду, которая работает, и все!! БОЛЬШОЕ СПАСИБО! - person Clint Eastwood; 12.09.2015