Cómo encontrar la estructura de directorios en Linux

Cómo encontrar la estructura de directorios en Linux

Estoy buscando un comando de Linux para RHEL v6.xbuscar 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/defestructura de directorios.

locate abc/def/

Alguien puede ayudarme por favor.

Gracias de antemano.

Respuesta1

La -nameprueba solo coincide con el último componente de la ruta. Para combinar algo como abc/defnecesitará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.

información relacionada