Мне нужно напечатать структуру каталогов нашей производственной системы, и я хотел бы удалить некоторые конкретные каталоги из дерева ?
Как мы указываем несколько шаблонов игнорирования для tree
команды?
Мне нужно напечатать структуру каталогов нашей производственной системы, и я хотел бы удалить некоторые конкретные каталоги из дерева ?
Как мы указываем несколько шаблонов игнорирования для tree
команды?
Вы просто предоставляете все шаблоны для -I
команды, разделенные |
. Из справочной страницы:
-P pattern
List only those files that match the wild-card pattern. Note:
you must use the -a option to also consider those files begin‐
ning with a dot `.' for matching. Valid wildcard operators are
`*' (any zero or more characters), `?' (any single character),
`[...]' (any single character listed between brackets (optional
- (dash) for character range may be used: ex: [A-Z]), and
`[^...]' (any single character not listed in brackets) and `|'
separates alternate patterns.
-I pattern
Do not list those files that match the wild-card pattern.
Так, например
tree -I 'test*|docs|bin|lib'
пропускает 'docs', 'bin' и 'lib', каталоги и любые каталоги с именем 'test' в названии, где бы они ни находились в иерархии каталогов. Очевидно, что вы можете применять подстановочные знаки для более мощного сопоставления.
docs/subdoc/
исключить такой подкаталог, как ?tree --prune -P '*.html'
Вы также получите каталоги, но только те,.html
в которых есть файлы.