如何让`find`按时间倒序查找文件?

mer*_*011 18 unix bash find

我想在按时间戳(创建时间)排序的子目录中查找文件,最近的在最前面。

我看过手册页,但它似乎只让你按时间戳过滤而不是按时间戳排序。

我可以通过哪些选项find来实现这一目标?或者,我如何将它与其他工具结合使用,比如sort按时间戳排序?

小智 34

虽然 Paul 的解决方案大体上是可以的,但它涉及的 I/O 不仅仅是简单的:

find bin/ -type f -printf '%Ts\t%p\n' | sort -nr | cut -f2
Run Code Online (Sandbox Code Playgroud)

  • 这仅值得对 user7385 的回答发表评论,但我没有这样做的声誉。`find bin/ -type f -printf '%Ts\t%p\0' | 排序-nrz | 剪切 -f2 -z | xargs -0 ls` 新版本的 `cut` 有 -z 选项,所以带换行符的文件名可以工作。 (2认同)