Estoy buscando el archivo "WSFY321.c" en una enorme jerarquía de directorios.
Por lo general, usaría GNU find : find . -name "WSFY321.c"
pero no sé el caso, podría ser mayúscula, minúscula o una combinación de ambos.
¿Cuál es la forma más fácil de encontrar este archivo?
¿Hay algo mejor que find . | grep -i "WSFY321.c"
?
-type f
bandera para que no se moleste en mirar el nombre si el inodo es un directorio. Pero eso es niveles pedantes de optimización ...find . -iname \*WSFY321.c\* -type f
Con GNU find u otras versiones de find que lo tienen:
Con otras versiones:
O un compromiso que es más lento pero más fácil de escribir:
O en zsh:
fuente
grep
versión solo está filtrando mayúsculas, y no entiendo el '[^ /]' .. (no /)*
después/
de la versión bash. Me referíagrep -i
. Utilizo en[^/]*
lugar de.*
no capturar archivos en directorios cuyo nombre comienza conWSFY
.shopt -s extglob nocaseglob globstar; printf '%s\n' **/WSFY321.c
... supongo que es por eso que se llama un nocase pegote : sólo funciona en el contexto de un pegote (o eso parece).Dos soluciones para macOS:
Usando GNU
find
:Usando GNU
sed
:fuente