#glob #fnmatch #find #wildmatch

filenamegen

Shell风格的文件名生成,即globbing

7个版本

0.2.6 2024年5月13日
0.2.5 2024年5月13日
0.2.4 2020年4月14日

#143 in 文件系统

Download history • Rust 包仓库 1920/week @ 2024-04-29 • Rust 包仓库 1297/week @ 2024-05-06 • Rust 包仓库 1706/week @ 2024-05-13 • Rust 包仓库 1090/week @ 2024-05-20 • Rust 包仓库 875/week @ 2024-05-27 • Rust 包仓库 1066/week @ 2024-06-03 • Rust 包仓库 1142/week @ 2024-06-10 • Rust 包仓库 841/week @ 2024-06-17 • Rust 包仓库 774/week @ 2024-06-24 • Rust 包仓库 744/week @ 2024-07-01 • Rust 包仓库 1227/week @ 2024-07-08 • Rust 包仓库 1213/week @ 2024-07-15 • Rust 包仓库 930/week @ 2024-07-22 • Rust 包仓库 897/week @ 2024-07-29 • Rust 包仓库 919/week @ 2024-08-05 • Rust 包仓库 1314/week @ 2024-08-12 • Rust 包仓库

4,255 每月下载量
5 个Crates中使用 (via wezterm-ssh)

MIT 协议

35KB
808 代码行

filenamegen

文件名生成,即Globbing。

此包实现了Shell风格的文件名生成,即:globbing。提供的globber可以相对于指定的目录(或仅当前工作目录)展开glob。 filenamegen 尝试避免遍历不会匹配glob的路径,以减少对底层文件系统的压力。

以下是一个简单的示例,递归地查找当前目录下的所有Rust源文件。

use filenamegen::Glob;

fn main() -> anyhow::Result<()> {
  let glob = Glob::new("**/*.rs")?;
  for path in glob.walk(std::env::current_dir()?) {
    println!("{}", path.display());
  }
  Ok(())
}

许可证:MIT


lib.rs:

文件名生成,即Globbing。

此包实现了Shell风格的文件名生成,即:globbing。提供的globber可以相对于指定的目录(或仅当前工作目录)展开glob。 filenamegen 尝试避免遍历不会匹配glob的路径,以减少对底层文件系统的压力。

以下是一个简单的示例,递归地查找当前目录下的所有Rust源文件。

use filenamegen::Glob;

fn main() -> anyhow::Result<()> {
  let glob = Glob::new("**/*.rs")?;
  for path in glob.walk(std::env::current_dir()?) {
    println!("{}", path.display());
  }
  Ok(())
}

依赖项

~3–11MB
~103K SLoC