Примечание. Пожалуйста, не уменьшайте меня из-за изображения. Это не код на изображении, а просто диаграмма, которую можно легко визуализировать.
Как вы можете видеть на этом изображении, самый глубокий каталог - «n2» в пределах «a» -> https://imgur.com/a/jzzbm.
script / command / cmdlet / program, я хочу программно узнать самую глубокую папку в данной папке и иметь возможность перемещаться по ней (или распечатать абсолютный путь этой самой глубокой папки!).
Любая помощь о том, как это можно достичь, оценивается.
Использование find, sort и sed:
find . -type d -printf '%d %p\0' | sort -zrn | sed -z 's/[0-9]* //; q'
С find: поиск каталогов (-type d) %d и %p - это глубина и имя (включая путь) sort сортирует строки численно, в обратном порядке с sed, удаляет ведущую глубину и завершает работу после первой строки, оставляя только путь к каталогу с наибольшей глубиной Итак:
cd "$(find . -type d -printf '%d %p\0' | sort -zrn | sed -z 's/[0-9]* //; q')"
Использование find, sort и sed:
find . -type d -printf '%d %p\0' | sort -zrn | sed -z 's/[0-9]* //; q'
С find: поиск каталогов (-type d) %d и %p - это глубина и имя (включая путь) sort сортирует строки численно, в обратном порядке с sed, удаляет ведущую глубину и завершает работу после первой строки, оставляя только путь к каталогу с наибольшей глубиной Итак:
cd "$(find . -type d -printf '%d %p\0' | sort -zrn | sed -z 's/[0-9]* //; q')"