列出子目录中的所有文件,按子目录名称排序

列出子目录中的所有文件,按子目录名称排序

我有一个文件夹,里面有很多子文件夹。我想列出所有子文件夹中的所有文件,但我希望文件按子文件夹名称排序。我对当前目录中的文件不感兴趣。

目前我正在使用这个命令,它可以让我得到我想要的正确的文件名和路径输出,但它不按子文件夹排序。

find -type f

前数据:

8585/file10.txt
8585/file83.txt
34032/file130.txt
10/file5400.txt

所需的排序输出:

10/file5400.txt
8585/file83.txt
8585/file10.txt
34032/file130.txt

预先感谢您的任何帮助!

答案1

将数据从find管道传输到sort。默认设置sort取决于您的区域设置,通常是字母数字。如果这没有给你你想要的排序顺序,你有 GNU sort,请尝试使用-V我的示例中的标志,

find -type f | sort -V

man sort详情请参阅

答案2

如果你读过手册页,您会看到find有一个 maxdepth 选项。但如果你只是

ls */* | sort

相关内容