Linux encontra pasta dentro de subpastas

17

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?

    
por Bharanikumar 21.01.2011 / 14:29

4 respostas

13

find é o que você precisa:

$ find -type d -name '*debugerror*'

ou

$ find -type d -name '480debugerror'

se tiver certeza sobre o nome da pasta.

    
por 21.01.2011 / 14:33
7
find . -type d \( -iname '*error*' -o -iname '*debug*' \) 
    
por 21.01.2011 / 14:32
1
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 )

    
por 21.01.2011 / 14:35
1

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.

    
por 22.12.2016 / 21:19

Tags