【发布时间】:2021-11-12 03:33:10
【问题描述】:
我正在尝试使用 Bash 从 Cargo.toml 中提取 bin 名称,我启用了这样的 perl 正则表达式
第一次尝试
grep -Pzo '(?<=(^\[\[bin\]\]))\s*name\s*=\s*"(.*)"' ./Cargo.toml
正则表达式在regex101进行测试 但一无所获
Pzo 选项的用法可以参考here
第二次尝试
grep -P (?name\s=\s*"(.*)" ./Cargo.toml
什么都没有
grep -Pzo '(?<=(^\[\[bin\]\]))\s*name\s*=\s*"(.*)"' ./Cargo.toml
Cargo.toml
[[bin]]
name = "acme1"
path = "bin/acme1.rs"
[[bin]]
name = "acme2"
path = "src/acme1.rs"
【问题讨论】:
-
既然这是标记为 rust,为什么不编写一个只解析文件(使用crates.io/crates/toml)并输出名称的小二进制文件? ;-)