将find的“-printf”功能与sort结合使用.你自己看:
find . -printf "%d %p\n"|sort -n
它生成一个深度排序列表(在第一列中显示深度,在第二列中显示文件路径).这打印在我当前的目录中:
0 . 1 ./bin 1 ./log 1 ./templates 2 ./bin/cc_env 3 ./files/test/mail.txt
如果要剥离第一列,我们可以使用perl:
find . -printf "%d %p\n"|sort -n|perl -pe 's/^\d+\s//;'
然后你走吧perl过滤器将删除所有前导数字.如果您想自己省略目录,请使用’-type f’参数:
find . -type f -printf "%d %p\n"|sort -n|perl -pe 's/^\d+\s//;'
提示:研究查找联机帮助页以获得更多类似于printf%d的技巧.