
Estoy buscando un comando de Linux para RHEL v6.x
buscar una estructura de directorio particular en el directorio actual.
Aunque conozco el siguiente comando que buscará en un directorio único particular en el directorio actual que funciona para un directorio único pero no para la estructura del directorio.
Laboral:
find /home/dir1/* -name "def"
No funciona:
find /home/dir1/* -name "abc/def"
También probé el siguiente comando, pero también enumera los archivos dentro de este directorio. Pero no quiero enumerar el archivo dentro de este directorio. Sólo quiero enumerar la ruta completa de todos los directorios que tienen esta abc/def
estructura de directorios.
locate abc/def/
Alguien puede ayudarme por favor.
Gracias de antemano.
Respuesta1
La -name
prueba solo coincide con el último componente de la ruta. Para combinar algo como abc/def
necesitarás -path
:
$ mkdir -p somedir/otherdir/abc/def/ghi
$ find somedir -path '*/abc/def'
somedir/otherdir/abc/def
Respuesta2
Qué tal esto.
find /home/dir1/ -type d | grep 'abc/def'
O si solo desea enumerar directorios hasta una cierta profundidad.
find /home/dir1/ -maxdepth 2 -type d | grep 'abc/def'
-d - directory
-maxdepth levels of directories below the starting-points.
Respuesta3
tree <base dir>
-L level
Max display depth of the directory tree.
-P pattern
List only those files that match the wild-card pattern.