是否有一个shell命令从根目录中recursion地查找最新创build的文件?
find /mydir -type f -exec stat -c '%y %N' {} \; | sort -n
这个方法只使用find (和sort ):
find /somedir -type f -printf "%T+ %p\n" | sort
例如,您可以将其限制为最近3天,如下所示:
find . -type f -mtime -3 -printf "%T+ %p\n" | sort
或最后的42.5小时:
find . -type f -mmin -2550 -printf "%T+ %p\n" | sort
这是一样的:
find . -type f -mmin -$((42 * 60 + 30)) -printf "%T+ %p\n" | sort
为了避免每个文件检查一个进程,如果你使用的是GNU版本的find和xargs,请考虑如下的内容:
find /dir -type f -print0 | xargs -0 stat -c '%Y %N' | sort -n
这会正确处理空格,并在每个文件的基础上执行一个命令(在这种情况下是ls )。 更改(或删除) -n1同时在多个文件上执行该命令。
find . -type f -printf "%T@ %p\0" | sort -z -nr | cut -z -d' ' -f2- |xargs -0 -n1 ls