CMD Master
Voltar ao blog
Arnošt Havelka

Encontrar ficheiros pelo nome no Bash

Pesquise uma árvore com find . -name e liste só pastas com -type d.

Iniciar lição interativa
Encontrar ficheiros pelo nome no Bash

ls só vê a pasta atual. find percorre uma árvore inteira. Comece em . (aqui) e depois acrescente -name ou -type para o resultado ser utilizável.

O Windows tem um find diferente que pesquisa texto dentro dos ficheiros. No Bash, find pesquisa o sistema de ficheiros pelo caminho.

Correspondência de nome: find . -name

-name compara a última parte do caminho. As aspas impedem a shell de expandir *.

Experimente o comando

Pesquise esta árvore de pastas pelo nome!

Montar o comando
find .
Terminal
C:\Users\User>find . -name 'secret.txt'

Localizar um ficheiro escondido:

Command Prompt
hidden public.txt
C:\Users\User>ls

find . -name '*.txt' lista todos os .txt por baixo da pasta atual, incluindo os aninhados.

Listar só pastas: find . -type d

-type d mantém diretórios. -type f mantém ficheiros regulares. Combine com -name quando precisar dos dois filtros.

find . -type d

Vai ver . e depois cada subpasta. Esse mapa é útil antes de uma limpeza ou de uma cópia.

Command Prompt
folders file.txt
C:\Users\User>ls

Teste de conhecimentos

1 / 3

O que pesquisa find . -name 'secret.txt'?

Referências

Estes links de documentação trazem detalhes confiáveis sobre os comandos usados neste artigo.

A seguir

Contar linhas com wc e ordenar um ficheiro

Use wc -l para contar linhas e depois sort para pôr os nomes em ordem.