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

globwalker

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

1 unstable release

Uses old Rust 2015

0.9.0 Oct 5, 2023

#1492 in Filesystem


Used in ix-match

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
~130K SLoC