Bash SHELL:显示最早创建的文件日期及其路径
马科斯马约夫酒店 我可以在目录中找到最早创建的文件:Bash SHELL:显示最早创建的文件日期及其路径,bash,macos,shell,Bash,Macos,Shell,马科斯马约夫酒店 我可以在目录中找到最早创建的文件: cd /path/ && ls | xargs mdls -name kMDItemContentCreationDate | awk '{print $3, $4}' | sort -n | head -n1 产出: 2020-02-04 08:24:46 但我很难让它的路径显示在旁边。我想要像这样的东西: 2020-02-04 08:24:46 /Path/Filename 我可以轻松地使用上次访问时间完成它,但在创
cd /path/ && ls | xargs mdls -name kMDItemContentCreationDate | awk '{print $3, $4}' | sort -n | head -n1
产出:
2020-02-04 08:24:46
但我很难让它的路径显示在旁边。我想要像这样的东西:
2020-02-04 08:24:46 /Path/Filename
我可以轻松地使用
上次访问时间
完成它,但在创建时间方面就不行了。任何帮助都将不胜感激。非常确定它很简单,我只是想得太多了:(使用while
循环,而不是xargs
。然后可以打印文件名和元数据
cd /path/ && ls | while read f; do
printf '%s %s %s\n' $(mdls -name kMDItemContentCreationDate "$f" | awk '{print $3, $4}') "$f"
done | sort -n | head -n1
在你的问题中,你能做一下命令
cd/path/&&ls|xargs mdls-name kMDItemContentCreationDate
的输出示例吗?这样我们就可以更好地理解这一点。@Ryul:在MacOS上,一个简单的ls-tU-l
应该已经按照创建时间排序了。如果ls的bash内部实现de>不支持此选项,请尝试使用显式路径,例如/usr/bin/ls-tU-l
。谢谢!现在它输出文件名:2020-02-04 08:24:46 filename
。如何修改它以将完整路径输出到文件名,例如/path/filename/
。使用ls/path/*
而不是cd'到目录