2010-08-06 15 views
5

¿Hay una manera fácil de obtener una lista de archivos que coincidan con una máscara de archivo especificada? Por máscara de archivo quiero decir comodín clásico, no regexp.¿Cómo obtener una lista de archivos que coincidan con una máscara de archivo (comodín) en Clojure?

Puedo usar file-seq y luego filtrar con regexp creado desde un comodín. Sin embargo, no es trivial (considere la posibilidad de escapar, etc.)

También conozco FilenameUtils.wildcardMatch() de Apache Commons, pero soy reacio a agregar tal dependencia a una pequeña herramienta que estoy creando.

Debe existir algo en el ecosistema Clojure del que no tengo conocimiento.

Respuesta

5

CLJ-glob encaja a la perfección: http://github.com/jkk/clj-glob

Puede o no puede ser listo para la producción en función de sus necesidades (por ejemplo, no se ha probado completamente con Windows), pero ha funcionado bien para mis propósitos.

P.S., parches de bienvenida.

+0

Esto es exactamente lo que estaba buscando. Arreglé el código para trabajar en Windows, por favor, considere tirar. – qertoip

Cuestiones relacionadas