Идентификация самой глубокой папки в дереве

Примечание. Пожалуйста, не уменьшайте меня из-за изображения. Это не код на изображении, а просто диаграмма, которую можно легко визуализировать.

Как вы можете видеть на этом изображении, самый глубокий каталог - «n2» в пределах «a» -> https://imgur.com/a/jzzbm.

script / command / cmdlet / program, я хочу программно узнать самую глубокую папку в данной папке и иметь возможность перемещаться по ней (или распечатать абсолютный путь этой самой глубокой папки!).

Любая помощь о том, как это можно достичь, оценивается.

-4
задан 10 April 2018 в 10:19

2 ответа

Использование 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')"
1
ответ дан 17 July 2018 в 17:08

Использование 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')"
1
ответ дан 23 July 2018 в 17:59
  • 1
    Спасибо за это. Цените свою помощь в понимании заявления. – Nish 10 April 2018 в 10:33

Другие вопросы по тегам:

Похожие вопросы: