Здесь очень важен список с шириной в ширину. Кроме того, было бы неплохо ограничить поиск глубины.
$ find . -type d
/foo
/foo/subfoo
/foo/subfoo/subsub
/foo/subfoo/subsub/subsubsub
/bar
/bar/subbar
$ find . -type d -depth
/foo/subfoo/subsub/subsubsub
/foo/subfoo/subsub
/foo/subfoo
/foo
/bar/subbar
/bar
$ < what goes here? >
/foo
/bar
/foo/subfoo
/bar/subbar
/foo/subfoo/subsub
/foo/subfoo/subsub/subsubsub
Я хотел бы сделать это, используя bash однострочный, если это возможно. Если бы была javascript-оболочка, я бы предположил что-то вроде
bash("find . -type d").sort( function (x) x.findall(/\//g).length; )