目录操作:简单grep
use std::env::args;
use std::io;
use std::fs::{self, File, DirEntry};
use std::path::Path;
fn visit_dirs(dir: &Path, pattern: &String, cb: &Fn(&DirEntry, &String)) -> io::Result<()> {
if try!(fs::metadata(dir)).is_dir() {
for entry in try!(fs::read_dir(dir)) {
let entry = try!(entry);
if try!(fs::metadata(entry.path())).is_dir() {
try!(visit_dirs(&entry.path(), pattern, cb));
} else {
cb(&entry, pattern);
}
}
}else{
let entry = try!(try!(fs::read_dir(dir)).next().unwrap());
cb(&entry, pattern);
}
Ok(())
}Last updated