我想知道是否有办法运行该find
命令并使其按字母顺序(或反向)遍历目录(递归)?我有一堆目录,其名称代表某种顺序,通常我需要根据目录名称找到最早的(或最后一个)。
关于如何对返回的结果进行排序,存在一些问题和答案find
(见下文)。但是,我想知道是否有办法find
按字母顺序运行搜索,因为这比遍历整个内容然后进行排序要高效得多。
n
理想情况下,我可以指定在找到匹配项后停止的命令,但这是次要的,因为我也可以手动停止该命令。
在 OS X 中,如何按修改日期排序通过命令行‘查找’找到的文件? https://unix.stackexchange.com/questions/34325/sorting-the-output-of-find
答案1
find
的目录列表顺序由文件系统中存储的条目的顺序给出。
您可以考虑编写一个 bash 脚本,进入每个目录并列出所需的文件。
答案2
您可以尝试:
find -type d -maxdepth 1 | sort -h | xargs find
find -type d -maxdepth 1
列出目录,无需递归。我们将输出导入sort -h
,以人性化的方式对结果进行排序。排序后的目录列表被发送到 ,xargs
后者将它们用作最后的 的命令行参数find
,后者完成大部分工作。
我知道您想避免排序,但据我所知,find 将按照文件系统的顺序遍历文件系统。
希望这可以帮助。