Есть ли какая-нибудь команда linux, которую я могу вызвать из скрипта Bash, который напечатает структуру каталогов в виде дерева, например,
folder1
a.txt
b.txt
folder2
folder3
linux
command-line
user243655
источник
источник
find
. Или,find . -not -path '*/\.*'
чтобы скрыть файлы и папки, начиная с.
. Если вы хотите получить вывод с пробелами, как в вопросе, используйте его с этим скриптом "find prettifier":find . -not -path '*/\.*' | python -c "import sys as s;s.a=[];[setattr(s,'a',list(filter(lambda p: c.startswith(p+'/'),s.a)))or (s.stdout.write(' '*len(s.a)+c[len(s.a[-1])+1 if s.a else 0:])or True) and s.a.append(c[:-1]) for c in s.stdin]"
Ответы:
Это то, что вы ищете дерево ? Это должно быть в большинстве дистрибутивов (возможно, в качестве дополнительной установки).
образец взят с веб-страницы сопровождающего.
Вы можете добавить опцию,
-L #
где#
заменяется число, чтобы указать максимальную глубину рекурсии.Удалить,
-d
чтобы отобразить также файлы.источник
-d
чтобы показать файлы также!brew install tree
apt-cyg install tree
(при условии, что вы установили apt-cyg)apt-get install tree
установит его.Вы можете использовать это:
Через несколько секунд будет показано графическое представление текущих подкаталогов без файлов , например /var/cache/:
Источник
источник
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\// /g' -e 's/^/ /'
.git
?find . | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
Чтобы добавить решение Хассу к вашему .bashrc, попробуйте:
источник
alias lst='ls -R | grep ":$" | sed -e '"'"'s/:$//'"'"' -e '"'"'s/[^-][^\/]*\//--/g'"'"' -e '"'"'s/^/ /'"'"' -e '"'"'s/-/|/'"'"''
Эта команда работает для отображения папок и файлов .
Пример вывода:
Источник: комментарий от @javasheriff здесь . Он погружен в качестве комментария, а публикация его в качестве ответа помогает пользователям легко его обнаружить.
источник
find . |grep -vE 'pyc|swp|__init' | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
работу хорошоЯ уточняю вывод ответа @ Hassou с помощью:
Это очень похоже на вывод
tree
сейчас:Вы также можете сделать псевдоним этого:
Кстати,
tree
не доступно в некоторых средах, таких как MinGW. Так что альтернатива полезна.источник
Вы также можете использовать комбинацию команд find и awk для печати дерева каталогов. Для получения подробной информации, пожалуйста, обратитесь к разделу « Как напечатать многоуровневую структуру каталогов с использованием комбинированных команд linux find и awk »
источник