UNIX — подсчет уникальных значений на основе даты изменения файла

Я хочу подсчитать количество разных лет всех файлов в определенном каталоге на основе даты изменения файла. Мой каталог /filehistory

Например, в моем каталоге много тысяч файлов. Я хочу подсчитать количество разных лет, поскольку это относится к дате модификации. Если все файлы были 2014 года, то мой ответ 1. Если все файлы 2013 и 2014 годов, то мой ответ 2. И так далее...

ls -l /история файлов | ????

Я не уверен, что делать после трубы в приведенной выше команде. Может кто-нибудь, пожалуйста, посоветуйте мне?


person DaveMac001    schedule 14.10.2017    source источник


Ответы (1)


Могут быть лучшие альтернативы, но попробуйте этот:

ls -lT | tr -s ' ' | cut -d ' ' -f 9 | sort | uniq | wc -l

ls -lT : Отображает подробный список с измененной датой и годом полностью.

tr -s ' ' : Удаляет лишнее пространство

cut -d ' ' -f 9: собрать столбец года

sort: Сортировка по годам

uniq: Соберите уникальные годы

wc -l: подсчитайте количество строк.

person Prasad    schedule 14.10.2017