¿Podría darme un ejemplo del uso del comando de árbol para filtrar el resultado de la siguiente manera:
- hacer caso omiso de los directorios (dicen
bin
,unitTest
) - listado único ciertos archivos que tienen extensiones (por ejemplo
.cpp
,.c
,.hpp
,.h
) - proporcionando nombres de ruta completos de solo los archivos resultantes que coinciden con los criterios.
tree
command-switch
Linda
fuente
fuente
-I bin
, no-I bin/
.sed: illegal option -- I
use
find
ytree
command que es use find'sprune
para excluir directorios de búsqueda y usetree -P
para buscar el patrón.Use el interruptor de podar, por ejemplo, si desea excluir el
misc
directorio, simplemente agregue un-path ./misc -prune -o
a su comando de búsqueda.por ej.
find . -path ./misc -prune -o -exec tree -P <pattern> {} \;
o puedes usar-name "*.cpp" in find
para excluir el uso de múltiples directorios
find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o
fuente
find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o
ofind . -path ./misc -prune -o -exec tree -P *.cpp {} \;
La verdadera solución es generar rutas completas, filtrar rutas no deseadas y finalmente arreglar las salidas.
Si todos los archivos son necesarios en la salida, elimine el parámetro "d".
Puede encontrar una explicación detallada en: http://qaon.net/press/archives/572 si puede entender japonés.
fuente