我忘记了目录或其子目录之一中的文件名。我记得该文件的扩展名 (.nb) 并大致知道它的创建时间。如何列出当前目录和子目录中具有此扩展名的所有文件及其创建日期?我使用的是 Mac OS X。
答案1
答案2
这应该可以实现你想要的。
find . -type f -name '*.nb'|xargs stat -f '%c %N'|sort
解释
find . -type f -name '*.nb'
查找所有扩展名为 .nb 的文件。
xargs stat -f '%c %N'
打印出前面带有unix时间戳的文件。
sort
把它分类。
答案3
对于 bash(不是 Mac):
find . -type f -iname '*.nb'| xargs -d '\n' stat -c '%z %N'|sort
查找当前目录及以下目录中所有类型为“文件”的条目,匹配模式
(-iname 忽略大小写)
通过管道将其传输到 xargs
(-d '\n' 将分隔符更改为换行符以允许文件名中存在空格)
然后统计
(-c 表示输出格式 %z = 最后状态更改 %N 带引号的文件名)
并对输出进行排序
答案4
find -name '*.nb' -exec ls -rtl {} +
将显示与该模式匹配的所有文件的详细信息,并从最旧到最新对它们进行排序(您可以通过r
从命令中删除该选项来从最新到最旧ls
)。
最后+
意味着您在搜索结束时执行命令,而不是为每个匹配项运行该命令。
笔记:这仅适用于合理数量的匹配,如果命令行太长,ls
它将被分成几个ls
,导致几个排序的子集,而整个列表将无法正确排序(谢谢@Gilles和@rudimeier 指出了这一点)。