Отметьте - не делайте downvote меня из-за изображения. Не код в изображении, его просто схема, которая может легко визуализироваться там.
Как Вы видите в этом изображении, самый глубокий каталог является "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')"