¿Cómo puedo encontrar recursivamente todos los archivos en las subcarpetas y actuales según la coincidencia de comodines?

Resuelto john asked hace 13 años • 19 respuestas

¿Cómo puedo encontrar recursivamente todos los archivos en las subcarpetas y actuales según la coincidencia de comodines?

john avatar May 06 '11 06:05 john
Aceptado

Usar find:

find . -name "foo*"

findnecesita un punto de partida, por lo que el .(punto) apunta al directorio actual.

Si necesita una búsqueda que no distinga entre mayúsculas y minúsculas, utilice:

find . -iname "foo*"
tux21b avatar May 05 '2011 23:05 tux21b

Canalizar find en grep suele ser más conveniente; le brinda todo el poder de las expresiones regulares para la coincidencia arbitraria de comodines.

Por ejemplo, para buscar todos los archivos con la cadena "foo" que no distingue entre mayúsculas y minúsculas en el nombre del archivo:

find . -print | grep -i foo
Paul Whipp avatar Aug 15 '2012 06:08 Paul Whipp

findencontrará todos los archivos que coincidan con un patrón:

find . -name "*foo"

Sin embargo, si quieres una foto:

tree -P "*foo"
IslandCow avatar May 05 '2011 23:05 IslandCow

fd

En caso de que findsea demasiado lento, pruebe la fdutilidad, una alternativa simple y rápida findescrita en Rust .

Sintaxis:

fd PATTERN

Manifestación:

Página de inicio: https://github.com/sharkdp/fd

kenorb avatar Jun 13 '2018 15:06 kenorb
find -L . -name "foo*"

En algunos casos, he necesitado el parámetro -L para manejar enlaces de directorio simbólicos. Por defecto se ignoran los enlaces simbólicos. En esos casos era bastante confuso ya que cambiaba el directorio a un subdirectorio y veía el archivo que coincidía con el patrón, pero buscar no devolvía el nombre del archivo. Usar -L resuelve ese problema. Las opciones de enlace simbólico para buscar son -P -L -H

toddcscar avatar Jan 14 '2017 02:01 toddcscar