CLI AI

Pare de decorar flags do find: peça o que você quer

2026-01-13

find é o canivete suíço para busca de arquivos no Unix. Também é a ferramenta que todo mundo googla. O flag de tamanho é +100M ou +100MB? -mtime -7 quer dizer menos de sete dias ou mais? Dá pra carregar metade da man page na cabeça, ou parar de tentar.

Um cenário

Sexta à tarde, o servidor de build está ficando sem disco e você precisa saber quem está comendo. Não precisa de inventário completo — precisa das quatro ou cinco queries que digitaria se lembrasse dos flags.

Arquivos com mais de 100 MB

clai
$ clai encontre arquivos com mais de 100MB neste diretório→ find . -type f -size +100M -printf '%s\t%p\n' | sort -rn | head -20./build/output.bin     142876160./logs/2026-04.json    113246208./assets/raw.tar       104857600

Tamanho mais tempo

clai
$ clai arquivos com mais de 50MB modificados na última semana→ find . -type f -size +50M -mtime -7 -printf '%TY-%Tm-%Td %s %p\n'2026-04-26 142876160 ./build/output.bin2026-04-23 73400320 ./cache/db.dump

Filtrar por extensão

clai
$ clai encontre arquivos .log com mais de 10MB→ find . -type f -name '*.log' -size +10M./var/log/app.log./var/log/nginx/access.log

Top 10 maiores diretórios

clai
$ clai mostra os 10 maiores diretórios sob esta pasta→ du -hx --max-depth=2 . 2>/dev/null | sort -hr | head -102.4G    ./node_modules1.1G    ./.cache640M    ./logs

Quando a primeira resposta não é a certa

Se clai te dá du -h | sort -h | tail e você queria os top 10, aperte R e adicione contexto — "top 10, decrescente, legível para humanos". O ciclo de refinamento foi feito exatamente para isso; o post sobre refinamento tem o padrão completo.

O que não foi substituído

As cadeias -exec e os predicados mais exóticos (-newer, -prune) ainda compensam se você vive neles diariamente. Mas pros 90% — arquivos de tamanho X, no diretório Y, batendo com padrão Z — descrever em palavras é mais rápido que recuperar a sintaxe.

Limpos os arquivos grandes, limpeza de logs e backups cobre o próximo passo.