Pasta de localização do Linux dentro de subpastas


19

Estou tentando encontrar um diretório chamado 480debugerroraninhado em diretórios filho. Não sei o caminho exato ou mesmo se tenho a ortografia exata do diretório que quero encontrar.

Existe um comando do Linux para localizar diretórios com um prefixo ou sufixo especificado, por exemplo, diretórios com o nome "debug" ou "debug error", com algum prefixo ou sufixo desconhecido?


2
Você pode tentar locate(localiza arquivos) ou find(localiza arquivos).
Miku

encontrar -type f -name * ummy ... mas não obter

3
Você precisa do tipo d . fprocura por arquivos
thkala 21/01

Respostas:


16

find é o que você precisa:

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

ou

$ find -type d -name '480debugerror'

se você tiver certeza sobre o nome da pasta.



1
locate -i "480debugerror"

irá verificar um banco de dados que lista todos os arquivos indexados no seu PC. Costumo ter cenários como esse e, por isso, procuro:

locate -i "debug" | grep -i "log"

que encontra todos os arquivos que têm em seu caminho (independentemente do caso [é o que -i significa]) "debug" e "log" (caso você não saiba, o | grepmeio pesquisará nos resultados que a localização produz)

A vantagem de usar a localização sobre localização é que a localização 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, não encontrará nada. (para atualizar o banco de dados que você pode usar sudo updatedb)


Somente se você tiver slocateinstalado. Algum ambiente de produção não :-(
Zsolt Botykai

Verdade, mas se uma opção que eu diria que é superior ao encontrar ...

1

Na festança,

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/

pesquisa recursivamente por diretórios com nomes contendo 480, depuração ou erro.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.