¿Cómo puedo encontrar recursivamente todos los archivos en las subcarpetas y actuales según la coincidencia de comodines?
¿Cómo puedo encontrar recursivamente todos los archivos en las subcarpetas y actuales según la coincidencia de comodines?
Usar find
:
find . -name "foo*"
find
necesita 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*"
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
find
encontrará todos los archivos que coincidan con un patrón:
find . -name "*foo"
Sin embargo, si quieres una foto:
tree -P "*foo"
fd
En caso de que find
sea demasiado lento, pruebe la fd
utilidad, una alternativa simple y rápida find
escrita en Rust .
Sintaxis:
fd PATTERN
Manifestación:
Página de inicio: https://github.com/sharkdp/fd
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