Hacer que el árbol enumere solo los archivos que coinciden con un patrón y los directorios en los que están contenidos

Hacer que el árbol enumere solo los archivos que coinciden con un patrón y los directorios en los que están contenidos

¿Hay alguna forma de treecomportarse de tal manera que, cuando se ejecuta con la -Popción, no genere directorios que no tengan archivos que coincidan con el patrón en algún lugar dentro de ellos?

Como ejemplo, tomemos esta estructura de directorios:

${DIRECTORY}/
 runtime/
  runtime_library.so
  runtime_library.a
 my_libraries/
  drawing/
   drawing.so
  basic_functions/
   basic.a
 documents/
  manual.txt
 empty/

Me gustaría poder treegenerar esto:

${DIRECTORY}/
 my_libraries/
  basic_functions/
   basic.a
 runtime/
  runtime_library.a

Respuesta1

Supongo que sólo quieres directorios que coincidan con un patrón específico, por lo que necesitas la -Popción, es decir

tree -P "*.a" --prune

Lo anterior devolverá todos los directorios que contienen archivos con la extensión.a . Elpágina de manual detreepuede ayudarte más. Por ejemplo, para ignorar un patrón, puedes usar la opción -I.

La --pruneopción suprimirá la salida de secciones del árbol donde los directorios no contengan archivos que coincidan con el patrón.

información relacionada