我有一个文件夹,里面有很多子文件夹。我想列出所有子文件夹中的所有文件,但我希望文件按子文件夹名称排序。我对当前目录中的文件不感兴趣。
目前我正在使用这个命令,它可以让我得到我想要的正确的文件名和路径输出,但它不按子文件夹排序。
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