¿Cómo especificamos múltiples patrones de ignorar para el comando `tree`?


105

¿Necesito imprimir la estructura de directorios de nuestro sistema de producción y me gustaría eliminar algunos directorios específicos del árbol ?

¿Cómo especificamos múltiples patrones de ignorar para el treecomando?

Respuestas:


141

Simplemente proporcione todos los patrones al -Icomando, separados por |. Desde la página del manual:

-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.

Así por ejemplo

tree -I 'test*|docs|bin|lib'

omite los directorios 'docs', 'bin' y 'lib', y cualquier directorio con 'test' en el nombre, donde sea que se encuentren dentro de la jerarquía de directorios. Obviamente, puede aplicar comodines para una coincidencia mucho más poderosa.


44
Miré la página de manual, vi una explicación muy concisa para "-I", estaba frustrado. No pensé mirar algunas líneas arriba. Gracias. ;)
Tomislav Nakic-Alfirevic

Cómo configurar el filtro para obtener solo archivos .html, nada más
Jitendra Vyas

¡Gracias! Lo uso para explorar mi código desde la línea de comando excluyendo node_modules.
thevangelist

2
¿Cómo se docs/subdoc/puede excluir un subdirectorio como ?
user1032531

@JitendraVyas: ¿qué tal tree --prune -P '*.html'? También obtendrá directorios, pero solo aquellos con .htmlarchivos en ellos.
fbicknel
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.