Devo stampare la struttura delle directory del nostro sistema di produzione e vorrei rimuovere alcune directory specifiche dall'albero ?
Come possiamo specificare più schemi di ignore per il tree
comando?
Devo stampare la struttura delle directory del nostro sistema di produzione e vorrei rimuovere alcune directory specifiche dall'albero ?
Come possiamo specificare più schemi di ignore per il tree
comando?
Risposte:
Fornisci semplicemente tutti gli schemi al -I
comando, separati da |
. Dalla manpage:
-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.
Quindi, per esempio
tree -I 'test*|docs|bin|lib'
salta "directory", "bin" e "lib", le directory e qualsiasi directory con "test" nel nome, ovunque si trovino all'interno della gerarchia di directory. Ovviamente, puoi applicare caratteri jolly per una corrispondenza molto più potente.
docs/subdoc/
essere esclusa una sottodirectory come ?
tree --prune -P '*.html'
ottenere anche le directory, ma solo quelle con i .html
file in esse.