/ / Отримайте дату та час останньої модифікації папки (або підфайлів / папок) - macos, bash

Отримати папку (або підфайли / папки) останню дату та час модифікації - macos, bash

Чи можливо отримати дату та час зміни папки?
Я знаю, що ви можете використовувати stat -f "%m" folder, але це не відображає зміни під-файлів / папок.

Те, що не працює:

  • ls -l folder - не відображає зміни всередині папки
  • stat -f "%m" folder - так само, як вище
  • date -r folder - знову ж
  • find foo bar baz -printf - the printf опція не існує в моїй версії знаходження

Версії речей:

  • ОС: Mac OS X 10.7.1
  • Bash: GNU bash, версія 3.2.48 (1) -випуск (x86_64-apple-darwin11)

Відповіді:

13 за відповідь № 1

Рішення:

find . -exec stat -f "%m" {} ; | sort -n -r | head -1

Пояснення:

  1. в find команда проходить поточний каталог (.) та для кожного файлу, що зустрічається, виконує (-exec) команду stat -f "%m". stat -f "%m" друкує останню зміну часової позначки unix файлу.
  2. sort -n -r сортує вихід find команда чисельно (-n) у зворотному порядку (-r). Тут спочатку буде вказано останню часову позначку модифікації.
  3. head -1 потім витягує перший рядок виводу з sort. Це остання зміна часової позначки unix всіх файлів.

5 для відповіді № 2

Ви можете спробувати "папку-дата", щоб дати останню зміну дати


0 для відповіді № 3

Ви завжди могли це отримати ls :

ls -ld mydir | awk -F" "  "{ print $6 " "$7 }"