Показать дерево каталогов для соответствующих имен каталогов

Я знаю это tree допускает сопоставление с образцом, но это работает только для файлов внутри каталогов. Допустим, у меня есть структура папок, похожая на эту:

➜  test tree
.
├── testdir1
│   ├── file1
│   └── file2
├── testdir2
│   ├── file1
│   └── file2
├── testdir3
│   ├── file1
│   └── file2
├── testdir4
│   ├── file1
│   └── file2
├── testdir5
│   ├── file1
│   └── file2
├── thatdir
│   ├── file1
│   └── file2
└── thatdir2
    ├── file1
    └── file2

И я хочу, чтобы дерево отображало только содержимое папок, начиная с that отображается в дереве. Я собрал бутлег zsh-скрипт, который делает то, что мне нужно:

for i in that*; tree $i;

выход:

➜  test for i in that*; tree $i;
thatdir
├── file1
└── file2

0 directories, 2 files
thatdir2
├── file1
└── file2

Однако мне стало интересно, есть ли лучший способ сделать это, вместо того, чтобы бездумно ставить сценарий поверх чего-то, а не правильно использовать инструмент (также форматирование немного нарушено, так как команда выполняется несколько раз)

1 ответ

Решение

tree that* надо делать что хочешь и проще

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