Как печатать дерево каталогов в терминале

Вы посмотрели на дрочи? (Я havent посмотрел вниз через все, так что простите меня, если у него нет того, что вы хотите)

1
задан 8 March 2014 в 15:04

2 ответа

Вы можете сделать это легко с помощью следующей команды:

find . -type d | sed -e "s/[^-][^\/]*\//  |/g" -e "s/|\([^ ]\)/|-\1/"

Эта команда будет искать рекурсивно для каталогов внутри родительского каталога, а затем нарисовать дерево основанных каталогов.

] Вы также можете попробовать следующее, чтобы включить все файлы.

find | sed 's|[^/]*/|- |g'
35
ответ дан 24 May 2018 в 11:01
  • 1
    Пожалуйста, разделите и объясните приведенную выше команду для меня. – Avinash Raj 8 March 2014 в 15:08
  • 2
    @AvinashRaj Buddy в целом команда понятна, если вы хотите узнать больше о sed, пожалуйста, обратитесь к некоторым учебникам или google. Трудно объяснить все здесь! – Maythux 8 March 2014 в 15:23
  • 3
    Maythux, вы правы, что, если вы понимаете sed, ваш сценарий понятен, но не обманывайте себя мышлением. Sed / regexes - это не что иное, как загадочный язык, который вы узнали за эти годы. Это вряд ли интуитивно понятно, что я считаю духом комментария Авинаша Раджа. – aaaaaa 28 October 2016 в 09:25
  • 4
    Что мне нужно изменить, чтобы игнорировать скрытые каталоги? – cadams 14 August 2017 в 22:06

Существует программа под названием tree, в которой содержится содержимое каталогов в древовидной структуре.

Я думаю, что он находится в репозиториях (или даже установлен)

sudo apt install tree

tree -d /path/to/directory

d1] tree ссылка для больше.

11
ответ дан 24 May 2018 в 11:01

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

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