#regex #file #recursion #process

bin+lib walkr

Recursively search a directory for files matching a regex, and execute a closure you define. This tiny crate allows you to find and operate on files quickly, making it convenient to quickly write tools performing file processing in Rust.

1 unstable release

0.1.0 Jul 29, 2019

#147 in #recursion

MIT license

6KB
57 lines

walkr

walkr recursively searches a directory for files matching a regex, and executes a closure you define, taking in a &DirEntry. This tiny crate allows you to find and operate on files quickly, making it convenient to quickly write tools performing file processing in Rust.

Usage

match walkr::find(Path::new("./"), &"\\.rs".to_owned(), &|d| {
  println!("File: {:?} matched!", d.file_name().into_string().unwrap());
  
  // open the file and print the contents to stdout
  let mut f = File::open(d.path()).unwrap();
  let mut s = String::new();
  match f.read_to_string(&mut s) {
    Ok(_) => {
      println!("{:?}", s);
    },
    Err(e) => panic!(e)
  }
}) {
  Ok(_) => println!("done"),
  Err(e) => panic!(e)
}

Running this example:

cargo run ./src \.rs

Dependencies

~6.5MB
~98K SLoC