find
é o que você precisa:
$ find -type d -name '*debugerror*'
ou
$ find -type d -name '480debugerror'
se tiver certeza sobre o nome da pasta.
Eu estou tentando encontrar um diretório chamado 480debugerror
aninhado em diretórios filho. Eu não sei o caminho exato, ou mesmo se eu tenho a ortografia exata do diretório que eu quero encontrar.
Existe um comando Linux para encontrar diretórios com um prefixo ou sufixo, por exemplo, diretórios com um nome de "debug" ou "debug error", com algum prefixo ou sufixo desconhecido?
find
é o que você precisa:
$ find -type d -name '*debugerror*'
ou
$ find -type d -name '480debugerror'
se tiver certeza sobre o nome da pasta.
find . -type d \( -iname '*error*' -o -iname '*debug*' \)
locate -i "480debugerror"
irá verificar um banco de dados que lista todos os arquivos indexados no seu PC. Eu costumo ter cenários como este e por isso faço pesquisas como:
locate -i "debug" | grep -i "log"
que encontra todos os arquivos que têm em seu caminho (independentemente do caso [isso é o que-i significa]) "debug" e "log" (Caso você não saiba, | grep
significa pesquisar nos resultados que localizar produz)
A vantagem de usar o locate over find é que o locate irá produzir uma saída muito mais rápida (já que está apenas verificando um banco de dados), mas se o arquivo / pasta não estiver indexado, ele não encontrará nada. (para atualizar o banco de dados você pode usar sudo updatedb
)
No bash,
shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/
pesquisa recursivamente para diretórios com nomes contendo 480, depuração ou erro.