我想构build一个Linux命令,以按访问时间sorting的特定目录(和子目录)列出所有文件(及其完整path)。
ls可以按访问时间sorting,但不能给出完整的path。 查找给出了完整的path,但唯一的控制你访问时间是指定一个范围与-atime N(至less24 * N小时前访问),这不是我想要的。
有没有一种方法可以按访问时间sorting并一次获得完整的path? 我可以写一个脚本,但似乎应该有一种方法来做到这一点与标准的Linux程序。
find . -type f -exec ls -l {} \; 2> /dev/null | sort -t' ' -k +6,6 -k +7,7
这将找到所有文件,并按日期和时间对它们进行排序。 然后可以使用awk
或cut
从ls -l
输出中提取日期和文件名称
你可以尝试:
ls -l $(find /foo/bar -type f )
ls
命令来实现你的目标。 find
cmd find . -type f | xargs ls -ldt
find . -type f | xargs ls -ldt
应该只要没有那么多的文件,就像参数限制和产生ls的两个实例一样。
find . -type f -exec ls -l --full-time {} \; 2> /dev/null | sort -t' ' -k +6,6 -k +7,7
亚历克斯的回答对我来说不起作用,因为我有超过一年的文件,分类也搞砸了。 上面添加了–full-time参数,它将日期/时间值重新赋值,并使它们可以排序而不管它们多大。
pwd | xargs -I % find % -type f