在 OS X 中,如何按修改日期排序通过命令行‘查找’找到的文件?

在 OS X 中,如何按修改日期排序通过命令行‘查找’找到的文件?

使用 Mac OS X 终端,如何编写find按修改日期对结果进行排序的命令(最近​​的在前)?

已经有类似的问题了,但它们指的是 GNUfind和 POSIX,但我不知道 Mac OS X 是 GNU 还是 POSIX 还是其他什么。

答案1

OS X 完全POSIX符合。

类似这样的事情应该做:

find . -type f -name "*.txt" -print0 | xargs -0 ls -tl

一些说明:

  • -t中的选项将按ls排序mtime
  • xargs用于将文件名作为参数传递给ls。请注意,如果文件名称中有空格,则必须使用-print0infind-0in xargs。此外,最大参数数量为ARG_MAX变量限制。要找出这些有多少,请输入getconf ARG_MAX
  • 您可以提供-r反转排序顺序(→最旧的文件优先)
  • 其他findls选项 – 与往常一样 – 在手册(man findman ls)中概述。

相关内容