【发布时间】:2014-09-09 21:08:25
【问题描述】:
我已经挂载了一个 Windows 共享,想忽略其中最底层文件夹的时间戳。
我想按目录或任何子目录中任何文件的修改日期对目录进行排序。
这可能吗?我只需要生成的目录列表第一级。
【问题讨论】:
我已经挂载了一个 Windows 共享,想忽略其中最底层文件夹的时间戳。
我想按目录或任何子目录中任何文件的修改日期对目录进行排序。
这可能吗?我只需要生成的目录列表第一级。
【问题讨论】:
是的,有可能。
我会给你一个解决方案的大纲:
for 循环遍历顶级目录(在zsh 中,这就像*(/) 一样简单;在bash 中,您可能需要find . -maxdepth 1 -type d 之类的东西。find -type f,使用-printf 指定格式字符串,该字符串仅包含找到的文件的修改时间,后跟换行符。find 的结果传送到sort -n。sort 的结果传送到tail -1。echo $(find | sort | tail) $dirname 之类的东西,输出在每个目录中找到的最高 mtime,然后是目录的名称。sort -t" " -k1,1 -n | cut -d" " -f2- 管道化
此解决方案取决于不包含换行符的目录名称。
【讨论】: