我知道网上有很多这个问题的答案。但是,我想知道这个替代解决方案是否有效:
ls -lt `find . -name "*.jpg" -print | head -10`
我当然知道这只会给我前10个结果。我之所以问的原因是因为我不确定ls
是否针对find
的每个结果单独执行。感谢
答案 0 :(得分:-1)
在您的解决方案中:
ls
将在评估find
后执行find
可能会产生过多的ls
处理结果,在这种情况下,您可能需要查看xargs
命令这应该更好:
find . -type f -print0 | xargs -0 stat -f"%m %Sm %N" | sort -rn
命令的三个部分:
xargs
处理(长)文件列表并打印出每个文件的修改unixtime,人类可读时间和文件名主要技巧是在上次修改文件时将数字unixtime添加到行的开头,然后对它们进行排序。