2010-08-06 6 views
5

Existe-t-il un moyen facile d'obtenir une liste de fichiers correspondant à un masque de fichier spécifié? Par filemask, je veux dire classique générique, pas regexp.Comment obtenir une liste de fichiers correspondant à un filemask (caractère générique) dans Clojure?

Je peux utiliser file-seq, puis filtrer avec regexp créé à partir d'un caractère générique. Cependant, ce n'est pas trivial (envisager d'échapper etc.)

Je suis également au courant de FilenameUtils.wildcardMatch() d'Apache Commons, mais je suis réticent à ajouter une telle dépendance pour un petit outil que je construis.

Il doit exister quelque chose dans l'écosystème Clojure dont je n'ai pas connaissance.

Répondre

5

CLJ-glob correspond à la facture: http://github.com/jkk/clj-glob

Il peut ou peut ne pas être prêt pour la production en fonction de vos besoins (par exemple, n'a pas été entièrement testé avec Windows), mais il a bien fonctionné pour mes fins.

P.S., les correctifs sont les bienvenus.

+0

C'est exactement ce que je cherchais. J'ai corrigé le code pour travailler sur Windows - s'il vous plaît envisager de tirer. – qertoip

Questions connexes