¿Cómo busco en todos los subdirectorios para encontrar uno con un nombre determinado?


Respuestas:


18

Tratar find /dir -type d -name "your_dir_name".

Reemplace /dircon el nombre de su directorio y reemplace "your_dir_name"con el nombre que está buscando.

-type dle indicará findque busque solo directorios.


1

Para una solución más general de encontrar uno o más directorios y buscar algo como encontrar direcciones de correo electrónico antiguas en repositorios git, observe el siguiente patrón:

find . -type d -name .git -print0|\
    xargs -0r -I {} find {} -type f -print0 |\
    xargs -0r grep -e 'my.old@email.address'

1
echo **/target

o para obtener una coincidencia por línea:

printf %s\\n **/target

Esto funciona fuera de la caja en zsh. En bash, debe ejecutar shopt -s globstarprimero, y tenga en cuenta que esto también atraviesa enlaces simbólicos a directorios. En ksh93, debes ejecutar set -o globstarprimero.

Si desea hacer coincidir solo directorios o enlaces simbólicos con directorios, agregue un final /(es decir **/target/). En zsh, para hacer coincidir solo directorios pero no enlaces simbólicos a directorios, haga eso **/target(/).

En cualquier shell, puede usar el findcomando:

find . -name target

En Linux y Cygwin, el .es opcional. Si desea hacer coincidir solo directorios, agregue -type d.

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.