Glob: Unix-Style globbing in Racket
(require glob) | package: glob |
A glob is like a path string, but allows wildcard characters. This library brings Unix-style globbing to Racket.
1 API Functions
procedure
(glob glob-string [ #:with-dotfiles? dotfiles?]) → (listof path-string) glob-string : string dotfiles? : boolean = #f
Examples: | ||||||
|
procedure
(in-glob glob-string [ #:with-dotfiles? dotfiles?]) → (sequenceof path-string) glob-string : string dotfiles? : boolean = #f
Examples: | |||||||||
|
The matches returned by either function should be exactly the same as those returned by the Unix glob file \. -name glob-path-string. Please submit an issue if you find a counterexample.
2 Globbing 101
Globs are path strings that may contain the following special characters.
* is a wildcard. It means "match anything". For example, (glob "*.rkt") will match all files in the current directory with a .rkt file extension.
? is an option. It means "the previous character might not be there". For example, (glob "*.rktd?") will match all .rkt and all .rktd files in the current directory.
Square braces [] are for branching on single characters. The pattern [abc] means "match ’a’, or match ’b’, or match ’c’". For example, (glob "*.[co]") will match all .c and all .o files in the current directory.
3 Credits
Inspired by the Python glob library.