Una variante de recorrido en anchura del comando UNIX find, que muestra primero los archivos menos profundos y es compatible con find de POSIX, BSD y GNU.
jhspetersson/fselect
Buscador de archivos para la línea de comandos que permite explorar el sistema de archivos con consultas similares a SQL, en lugar de usar las opciones de find y ls.
- Estrellas
- 4,476
- Forks
- 87
- Issues abiertos
- 6
- Último commit
- hace 9 días
¿Qué es?
fselect es una herramienta para la línea de comandos escrita en Rust que permite buscar archivos con una sintaxis flexible similar a SQL. Puedes seleccionar columnas como name, path, size o modified, especificar directorios con una cláusula from y filtrar con una cláusula where. También admite group by, having, order by, limit y formatos de salida como JSON, CSV o HTML.
Además de los filtros básicos por nombre y tamaño, fselect puede buscar dentro de archivos zip, respetar los archivos .gitignore, .hgignore y .dockerignore, y filtrar por dimensiones de imagen, datos EXIF, etiquetas de audio, atributos extendidos, ACL POSIX, hashes de archivos y tipo MIME. Las subconsultas permiten comparar resultados de varios directorios, y las funciones de agregación y fecha permiten obtener estadísticas sobre los archivos encontrados.
En árboles de directorios grandes, puede usar de forma opcional el índice de plocate en Linux o el índice de Everything en Windows para agilizar las búsquedas. También ofrece un modo interactivo.
Funciones clave
- 01Usa una gramática flexible similar a SQL para seleccionar, filtrar, agrupar y ordenar archivos.
- 02Busca dentro de archivos zip y filtra por datos EXIF, dimensiones de imagen y etiquetas de audio.
- 03Admite las reglas de .gitignore, .hgignore y .dockerignore.
- 04Filtra por hashes de archivos, tipo MIME, atributos extendidos, permisos y propietario.
- 05Admite subconsultas en varios directorios y funciones de agregación.
- 06Muestra los resultados en JSON, CSV, HTML o texto sin formato.
Casos de uso
- Encontrar archivos grandes o antiguos para liberar espacio en disco en varios directorios.
- Auditar archivos con permisos peligrosos o propietarios inesperados en un servidor.
- Localizar archivos duplicados comparando sus hashes entre carpetas.
- Listar archivos multimedia por dimensiones, duración o etiquetas para organizar una biblioteca.
Inicio rápido
- 1
Instala Rust con Cargo
- 2
Instala fselect desde crates.io
cargo install fselect - 3
Ejecuta una consulta para listar archivos por tamaño y ruta
fselect size, path from /home/user where name = '*.cfg' or name = '*.tmp'
Antes de usarlo
- La compatibilidad con .gitignore, .hgignore y .dockerignore está marcada como experimental.
- Actualmente, la búsqueda dentro de archivos comprimidos solo admite archivos zip.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es fselect?
- Buscador de archivos para la línea de comandos que permite explorar el sistema de archivos con consultas similares a SQL, en lugar de usar las opciones de find y ls. fselect es una herramienta para la línea de comandos escrita en Rust que permite buscar archivos con una sintaxis flexible similar a SQL. Puedes seleccionar columnas como name, path, size o modified, especificar directorios con una cláusula from y filtrar con una cláusula where. También admite group by, having, order by, limit y formatos de salida como JSON, CSV o HTML.
- ¿fselect es gratuito? ¿Qué licencia tiene?
- fselect es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿fselect sigue mantenido?
- Mantenimiento activo. El último commit de fselect fue el 28 oct 2026.
- ¿Para qué puedo usar fselect?
- Encontrar archivos grandes o antiguos para liberar espacio en disco en varios directorios. Auditar archivos con permisos peligrosos o propietarios inesperados en un servidor. Localizar archivos duplicados comparando sus hashes entre carpetas. Listar archivos multimedia por dimensiones, duración o etiquetas para organizar una biblioteca.
- ¿Cómo se instala fselect?
- Instala Rust con Cargo Instala fselect desde crates.io: cargo install fselect Ejecuta una consulta para listar archivos por tamaño y ruta: fselect size, path from /home/user where name = '*.cfg' or name = '*.tmp'
- ¿Dónde consigo fselect?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/jhspetersson/fselect
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una alternativa rápida y fácil de usar al comando Unix find para buscar archivos y directorios por nombre desde la línea de comandos.
Una alternativa moderna al comando ls, con colores, iconos, estado de Git y vistas de árbol en un único binario de Rust.
Utilidad de línea de comandos para Linux, Mac y Windows que lista los sistemas de archivos montados con información de uso, como df, pero con filtros, ordenación y salida en tabla, CSV o JSON.
Analizador rápido del uso del disco en la terminal, escrito en Go, con una interfaz de consola interactiva, salida no interactiva y una interfaz web opcional.
Un clon de jq en Rust que prioriza la corrección, la velocidad y la simplicidad, disponible como CLI compatible con jq o como biblioteca.