Repolode
tavianator

tavianator/bfs

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.

Estrellas
1,282
Forks
44
Issues abiertos
15
Último commit
hace 9 días

¿Qué es?

bfs es una variante del comando UNIX find que recorre los árboles de directorios en anchura en vez de en profundidad. Como muestra los archivos desde los menos profundos hasta los más profundos, no tienes que esperar a que termine de recorrer un subárbol profundo que no te interesa para llegar al archivo que buscas.

Su objetivo es ser compatible con muchas versiones de find, incluidas POSIX, GNU, FreeBSD, OpenBSD, NetBSD y macOS. Además, facilita tareas habituales: los argumentos pueden aparecer en cualquier orden, sugiere correcciones para opciones mal escritas y una fase de análisis estático advierte sobre expresiones cuyos resultados se ignoran. También añade el operador -exclude, que omite subárboles completos, y -nohidden, que omite los archivos ocultos.

bfs está escrito en C, está disponible en muchos gestores de paquetes de Linux, macOS y BSD, y se compila mediante el flujo de trabajo configure y make. Las bibliotecas de sistema opcionales, como ACL, attr, libcap, liburing y oniguruma, habilitan funciones adicionales.

Funciones clave

  • 01Muestra los archivos mediante un recorrido en anchura, por lo que los resultados menos profundos aparecen antes que los subárboles profundos.
  • 02Acepta opciones y expresiones en posiciones flexibles, a diferencia del comportamiento estricto de find.
  • 03Sugiere correcciones para argumentos mal escritos.
  • 04Advierte sobre expresiones cuyos resultados se ignoran.
  • 05Incluye -exclude para omitir subárboles completos y -nohidden para omitir archivos ocultos.

Casos de uso

  • Localizar un archivo en un árbol de directorios grande cuando no sabes a qué profundidad está.
  • Reemplazar find en scripts y conservar predicados y opciones conocidos.
  • Buscar en árboles de directorios omitiendo .git u otras carpetas no deseadas con -exclude.

Inicio rápido

  1. 1

    Instala con Homebrew en macOS

    brew install bfs
  2. 2

    O instala desde el gestor de paquetes de tu distribución de Linux (p. ej., Arch Linux)

    pacman -S bfs
  3. 3

    O compila desde el código fuente: descarga una versión o clona el repositorio y ejecuta configure y make

    ./configure && make

Antes de usarlo

  • Para compilar desde el código fuente se necesitan un compilador de C, GNU make y Bash, además de bibliotecas del sistema opcionales para disponer de todas las funciones.

En colecciones

Temas

Preguntas frecuentes

¿Qué es bfs?
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. bfs es una variante del comando UNIX find que recorre los árboles de directorios en anchura en vez de en profundidad. Como muestra los archivos desde los menos profundos hasta los más profundos, no tienes que esperar a que termine de recorrer un subárbol profundo que no te interesa para llegar al archivo que buscas.
¿bfs es gratuito? ¿Qué licencia tiene?
bfs es open source bajo la licencia 0BSD. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿bfs sigue mantenido?
Mantenimiento activo. El último commit de bfs fue el 13 oct 2026.
¿Para qué puedo usar bfs?
Localizar un archivo en un árbol de directorios grande cuando no sabes a qué profundidad está. Reemplazar find en scripts y conservar predicados y opciones conocidos. Buscar en árboles de directorios omitiendo .git u otras carpetas no deseadas con -exclude.
¿Cómo se instala bfs?
Instala con Homebrew en macOS: brew install bfs O instala desde el gestor de paquetes de tu distribución de Linux (p. ej., Arch Linux): pacman -S bfs O compila desde el código fuente: descarga una versión o clona el repositorio y ejecuta configure y make: ./configure && make
¿Dónde consigo bfs?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tavianator/bfs

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados