Як ми можемо вказати кілька моделей ігнорування для команди `tree`?


105

Мені потрібно надрукувати структуру каталогів нашої виробничої системи, і я хотів би видалити з дерева деякі конкретні каталоги ?

Як ми можемо вказати кілька моделей ігнорування для treeкоманди?

Відповіді:


141

Ви просто надаєте всі шаблони -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" у назві, де б вони не знаходилися в ієрархії каталогів. Очевидно, що ви можете застосувати подвійні картки для набагато більш потужного узгодження.


4
Подивившись на сторінку чоловіка, побачивши дуже лайливе пояснення "-Я", було розчаровано. Не думав виглядати на кілька рядків вище. Дякую. ;)
Томіслав Накіч-Альфіревич

Як встановити фільтр, щоб отримати лише .html файли, нічого іншого
Jitendra Vyas

Дякую! Я використовую це для перегляду свого коду з командного рядка, виключаючи node_modules.
євангеліст

2
Як можна docs/subdoc/виключити такий підкаталог, як наприклад ?
user1032531

@JitendraVyas: як щодо tree --prune -P '*.html'Ви також отримаєте каталоги, але лише ті, у яких є .htmlфайли.
fbicknel
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.