Repolode
jhspetersson

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. 1

    Instala Rust con Cargo

  2. 2

    Instala fselect desde crates.io

    cargo install fselect
  3. 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