UNIX - 根据文件修改日期计算唯一值

UNIX - count unique values based on file modification date

我想根据文件修改日期计算特定目录中所有文件的不同年份数。我的目录是 /filehistory

例如,我的目录中有数千个文件。我想计算与修改日期有关的不同年份的数量。如果所有文件都来自 2014 年,那么我的答案是 1。如果所有文件都来自 2013 年和 2014 年,那么我的答案是 2。依此类推...

ls -l /文件历史 | ????

我不确定在上述命令中的管道之后要做什么。有人可以告诉我吗?

可能有更好的选择,但试试这个:

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

ls -lT : 显示完整的修改日期和年份的详细列表。

tr -s ' ' :删除多余的 space

cut -d ' ' -f 9:收集年份列

sort:对年份进行排序

uniq:收集唯一年份

wc -l: 统计行数