find

Procura recursivamente por arquivos ou diretórios em uma árvore de diretórios. Mais informações: https://manned.org/find.

  • Procura por arquivos pela extensão:

find caminho_raiz -name '*.ext'

  • Procura por arquivos que correspondam a vários padrões específicos de caminho/nome:

find caminho_raiz -path '/caminho//*.ext' -or -name 'nome'

  • Procura por diretórios que correspondam a um nome específico, sem diferenciar maiúsculo de minúsculo:

find caminho_raiz -type d -iname 'nome'

  • Procura por arquivos que correspondam a um nome específico, excluindo certos caminhos:

find caminho_raiz -name '*.py' -not -path '/caminho/'

  • Procura por arquivos que correspondam a uma faixa de tamanho específica, limitando a profundidade recursiva para "1":

find caminho_raiz -maxdepth 1 -size +500k -size -10M

  • Executa um comando para cada arquivo (use {} dentro do comando para acessar o nome do arquivo):

find caminho_raiz -name '*.ext' -exec wc -l {} \;

  • Procura por todos os arquivos modificados hoje e passa os resultados para um único comando como argumentos:

find caminho_raiz -daystart -mtime -1 -exec tar -cvf arquivo.tar {} \+

  • Procura por arquivos vazios (0 byte) ou diretórios e os exclui de forma verbosa:

find caminho_raiz -type f|d -empty -delete -print