Использование mdfind (Spotlight)
Поскольку OS X индексирует все, используя Spotlight, у вас есть очень мощный инструмент командной строки, чтобы найти то, что вам нужно:
mdfind -onlyin <directory> 'kMDItemLastUsedDate <= $time.today(-<days>)'
например, перечислите все в <directory>
который вы не открывали в течение <days>
. Конечно, вы можете оставить только onlyin
если вы хотите искать в масштабе всей системы. Однако я бы порекомендовал заглянуть в конкретные каталоги.
Вы можете изменить этот запрос с помощью:
$time.this_week
$time.this_month
$time.this_year
и, конечно, также добавьте $time.this_week(-5)
, например, если вы хотите что-то, что не было открыто в течение 5 недель. Или, в вашем случае, используйте $time.this_year(-2)
для чего-то, что не использовалось в последние два года.
Также вы можете получить доступ к другим атрибутам:
kMDItemContentModificationDate
(когда он был изменен)
kMDItemContentCreationDate
(когда он был создан)
Есть ряд других запросов, которые вы можете сделать. Смотрите здесь список других атрибутов.
Используя find
Простой список файлов в <directory>
, которые были изменены более <d>
дней назад:
find <directory> -type f -mtime +<d>
Так, например
find ~/Documents -type f -mtime +150
перечисляет все ваши файлы в ~/Documents
которые вы не изменяли в течение как минимум 150 дней.
mtime
- это время модификации файла Unix, которое не изменяется, когда вы (или система) его читаете . И наоборот, если вы хотите получить список файлов , которые были изменены в течение последних 150 дней, вы будете использовать -150
вместо +150
Так же, как и mtime
, есть также atime
, который обозначает время последнего доступа. Тот же синтаксис:
find ~/Documents -type f -atime +150
Но я не уверен, что это слишком точно. По крайней мере, на OS X, Spotlight кажется лучшим вариантом здесь.