#glob-pattern #glob #pattern #iterator #walk #regex

globwalker

Glob-matched recursive file system walking. Fork of 'globwalk'

1 unstable release

Uses old Rust 2015

0.9.0 Oct 5, 2023

#1456 in Filesystem

24 downloads per month

MIT license

33KB
549 lines

GlobWalker

Fork of GlobWalk

License crates.io

Recursively find files in a directory using globs.

Based on both walkdir & ignore (❤), this crate inherits many goodies from both, such as limiting search depth and amount of open file descriptors.

Licensed under MIT.

Why not glob

  • The glob crate does not support having {a,b} in patterns.
  • globwalker can match several glob-patterns at the same time.
  • globwalker supports excluding results with !.
  • glob searches for files in the current working directory, whereas globwalker starts at a specified base-dir.

Usage

To use this crate, add globwalker as a dependency to your project's Cargo.toml:

[dependencies]
globwalker = "0.9.0"

The following piece of code recursively find all png, jpg, or gif files:

extern crate globwalker;

use std::fs;

for img in globwalker::glob("*.{png,jpg,gif}").unwrap() {
    if let Ok(img) = img {
        println!("{:?}", img);
    }
}

See the documentation for more details.

Dependencies

~4–12MB
~134K SLoC