Guia fselect: Pesquise em Seu Disco Rígido com SQL, A Forma Suprema de Pesquisa de Arquivos
fselect: Quando a Pesquisa de Arquivos Encontra o SQL, Tudo se Torna Elegante
Solução em uma frase: Quando você precisa encontrar arquivos com condições complexas como “arquivos PDF maiores que 100MB, modificados após janeiro de 2024, na pasta projects no disco D,” o fselect permite fazer isso com uma única consulta SQL.
Everything é realmente rápido para pesquisar arquivos, mas suas capacidades de consulta são limitadas. Quando você precisa combinar múltiplas condições, ordenar de maneiras específicas, ou até agregar informações de arquivos em pastas, o Everything fica aquém.
É aí que o fselect entra.
O que é fselect?
fselect é uma ferramenta de pesquisa de arquivos por linha de comando com um grande diferencial — ela permite usar sintaxe SQL para pesquisar arquivos.
Sim, você leu certo. SELECT, WHERE, ORDER BY — aquelas palavras-chave SQL — para pesquisar seu disco rígido.
Os principais problemas que o fselect resolve:
- Pesquisas com combinação complexa de condições → expressas flexivelmente com SQL
- Agregação de informações de arquivos → count/avg/sum diretos
- Operações em lote baseadas em condições → pipe dos resultados diretamente para outros comandos
- Experiência consistente multiplataforma → mesma sintaxe no Mac/Linux/Windows
Quão Satisfatório é Usar?
Cenário 1: Pesquisa com Condições Complexas
Com Everything, pesquisar por “arquivos de vídeo maiores que 1GB” requer clicar em filtros. Com fselect, uma linha resolve:
fselect "name, size, path FROM files WHERE type = 'video' AND size > 1g ORDER BY size DESC"
Resultados listados diretamente, ordenados por tamanho decrescente.
Cenário 2: Encontrar Arquivos Grandes para Limpar Espaço em Disco
Disco cheio e quer encontrar arquivos grandes para limpar?
fselect "path, size FROM files WHERE size > 500m ORDER BY size DESC LIMIT 20"
Lista os 20 maiores arquivos no seu disco, sem perder nenhum.
Cenário 3: Contar Arquivos
fselect "COUNT(*), LOWER(extension) FROM /caminho/para/projeto WHERE type = 'image' GROUP BY LOWER(extension)"
Um comando para contar quantas imagens de cada formato existem no seu projeto.
Cenário 4: Pesquisa Aprofundada
Quer encontrar todos os arquivos Excel contendo a palavra-chave “relatório” em C:\Trabalho\Projetos, criados após 2024?
fselect "name, path, created FROM C:/Trabalho/Projetos WHERE name LIKE '%relatório%' AND extension = 'xlsx' AND created > '2024-01-01'"
Everything não consegue fazer este nível de detalhe, mas fselect lida facilmente.
Comparação com Ferramentas Similares
| Aspecto | fselect | Everything | Pesquisa do Sistema |
|---|---|---|---|
| Sintaxe de consulta | SQL | Palavras-chave | Palavras-chave |
| Combinações complexas de condições | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| Velocidade de pesquisa | Rápida (indexada) | Muito rápida (índice NTFS) | Lenta |
| Agregação estatística | Suportada | Não suportada | Não suportada |
| Interface gráfica | Não (linha de comando pura) | Sim | Sim |
| Curva de aprendizado | Médio-alto | Muito baixa | Baixa |
fselect é para: Você se sente confortável com a linha de comando, frequentemente precisa encontrar arquivos por condições específicas, ou precisa agregar informações de arquivos em lote.
Feedback de Usuários
- Hacker News: “Finalmente, alguém fez a ferramenta ‘SELECT * FROM files WHERE…’ que eu queria há anos.”
- Programador do Zhihu @ByteFlow: “A primeira vez que usei fselect para pesquisar arquivos, pareceu ter uma visão divina.”
- Reddit r/commandline: “fselect é o que todo desenvolvedor deseja que a pesquisa do Windows pudesse ser.”
Resumo de Prós e Contras
Prós
- Expressão SQL extremamente poderosa, consultas complexas sem esforço
- Velocidade de pesquisa rápida com otimização de índice
- Suporte multiplataforma (Windows/Mac/Linux)
- Pode ser combinado com outras ferramentas de linha de comando
- Suporta agregação, agrupamento, ordenação e outros recursos avançados
Contras
- Linha de comando pura, sem interface gráfica
- Requer aprendizado de sintaxe SQL (embora SQL básico seja suficiente)
- Não indexa automaticamente por padrão, primeira pesquisa em um diretório é ligeiramente mais lenta
- Suporte a nomes de arquivo com acentos pode ter problemas em alguns cenários
- Não é adequado para usuários comuns que só querem encontrar um arquivo rapidamente
Download e Instalação
Instalação no Windows
Método 1: Via Scoop (recomendado)
scoop install fselect
Método 2: Via Chocolatey
choco install fselect
Método 3: Baixar do GitHub
- https://github.com/jhspetersson/fselect/releases
- Baixe o binário para seu sistema, extraia e adicione ao PATH
Nota: Instalar via Scoop ou Chocolatey configura automaticamente as variáveis de ambiente, muito mais conveniente que download manual.
Guia Rápido
- Após a instalação, abra um terminal (CMD ou PowerShell)
- Experimente a pesquisa mais simples:
fselect "name FROM C:/Users" LIMIT 10 - Filtrar por tipo:
fselect "name, path FROM C:/Downloads WHERE type = 'image'" - Filtrar por tamanho:
fselect "name, size FROM C:/ WHERE size > 100m" - Experimente agregação:
fselect "COUNT(*), extension FROM D:/Documents GROUP BY extension"
Modelos de Consulta Comuns
# Encontrar arquivos grandes modificados recentemente
fselect "name, path, modified FROM C:/ WHERE size > 500m AND modified > '2025-01-01'"
# Contar tipos de arquivo e tamanhos totais
fselect "COUNT(*), SUM(size), extension FROM D:/Projects GROUP BY extension ORDER BY COUNT(*) DESC"
# Encontrar arquivos por extensão e palavra-chave
fselect "name, path FROM C:/Work WHERE extension IN ('pdf', 'docx') AND name LIKE '%report%'"
# Encontrar arquivos vazios
fselect "name, path FROM E:/Backup WHERE size = 0"
Conclusão
fselect não é para todos. Usuários comuns estão bem com Everything. Mas se você é um desenvolvedor, analista de dados ou usuário avançado que frequentemente precisa encontrar arquivos com condições complexas, fselect oferece uma flexibilidade que o Everything não consegue igualar.
Depois de se acostumar a usar fselect "SELECT * FROM files WHERE..." para examinar seu disco rígido, todo o seu sistema de arquivos começa a parecer um banco de dados — pesquise o que quiser.
Resumo em uma frase: Tudo pode ser SQL, e a pesquisa de arquivos não é exceção.