Estou procurando pelo arquivo "WSFY321.c" em uma enorme hierarquia de diretórios.
Normalmente eu usaria o GNU find : find . -name "WSFY321.c"
Mas não sei o caso, pode ser maiúsculo, minúsculo ou uma mistura de ambos.
Qual é a maneira mais fácil de encontrar esse arquivo?
Existe algo melhor do que find . | grep -i "WSFY321.c"
?
-type f
sinalizador, para não incomodar olhar o nome se o inode for um diretório. Mas isso é níveis pedantes de otimização ...find . -iname \*WSFY321.c\* -type f
Com o GNU find, ou outras versões do find que o possuem:
Com outras versões:
Ou um compromisso mais lento, mas fácil de digitar:
Ou no zsh:
fonte
grep
versão é a filtragem único caso superior, e eu não entendo o '[^ /]' .. (não /)*
após a/
versão bash. Eu quis dizergrep -i
. Eu uso,[^/]*
em vez.*
disso, para não pegar arquivos em diretórios cujo nome começa comWSFY
.shopt -s extglob nocaseglob globstar; printf '%s\n' **/WSFY321.c
... Acho que é por isso que é chamado de NOCASE glob : ele só funciona no contexto de um glob (ou assim parece).Duas soluções para o macOS:
Usando o GNU
find
:Usando o GNU
sed
:fonte