Получить папку (или вложенные файлы / папки) дату и время последнего изменения - PullRequest
8 голосов
/ 24 августа 2011

Можно ли получить дату и время изменения папки?
Я знаю, что вы можете использовать stat -f "%m" folder, но это не отражает изменения подфайлов / папок.

Вещи, которыене работает:

  • ls -l folder - не отражает изменения внутри папки
  • stat -f "%m" folder - то же, что и выше
  • date -r folder - то жеснова
  • find foo bar baz -printf - опция printf не существует в моей версии find

Версии вещей:

  • ОС: MacOS X 10.7.1
  • Bash: GNU bash, версия 3.2.48 (1) -релиз (x86_64-apple-darwin11)

Ответы [ 3 ]

13 голосов
/ 24 августа 2011

Решение:

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 timestamp всех файлов.
6 голосов
/ 24 августа 2011

Вы можете попробовать 'date -r folder', чтобы указать дату последнего изменения

0 голосов
/ 24 августа 2011

Вы всегда можете получить его от ls:

ls -ld mydir | awk -F' '  '{ print $6 " "$7 }'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...