正規表現とディレクトリ パスが与えられた場合、パスが正規表現と一致する一連のファイルを取得するにはどうすればよいですか?
つまり、欲しい
(require '[clojure.java.io :as io])
(regex-file-seq #"\.ssh/.*\.pub$" (io/file "/home")) =>
(#<File /home/x/.ssh/iaf_dsa.pub> #<File ....>)
パーツを組み立てるのに数分かかったので、投稿しようと思いました。
(defn regex-file-seq
"Lazily filter a directory based on a regex."
[re dir]
(filter #(re-find re (.getPath %)) (file-seq dir)))
clj-globはそれを行うことができます:
(glob "*.{jpg,gif}")