2 个版本
使用旧的 Rust 2015
0.1.1 | 2017 年 3 月 11 日 |
---|---|
0.1.0 | 2017 年 3 月 6 日 |
#6 在 #capture-group
10KB
246 行
extract
使用正则表达式从文本中提取文本 - 简单地消费从不良(或无)结构化文本中提取的键字段。
用法
Extract 接受一个正则表达式作为参数,该正则表达式有一个捕获组,并将从 stdin 读取行,打印捕获的值。
> echo "hello subject=world" | extract "subject=(.+)"
world
extract
会持续读取,直到达到输入的末尾,逐行处理
> cat multiline
Hello subject=world
Hello subject=Dorris
> cat multiline | extract "subject=(\w+)"
world
Dorris
安装
从源码
cargo install
从 crates.io
cargo install extract
许可证
MIT / Apache 2.
问题/贡献
请随意打开一个问题/PR。我很乐意添加对更多结构化输出的支持(例如,具有命名捕获组的正则表达式的 JSON)。
常见问题解答
- 这与
grep -o
有何不同?
extract
只打印捕获的组,而不是整个匹配项。
- 你不能用
sed
做这个吗?
不是第一次了,通常情况下。也许你的 sed 技能比我好。这个工具最初是在我需要从 xinput --list
的输出中提取 ids 时创建的,在尝试了四次将正确的咒语传递给 sed
后感到沮丧。
依赖项
~7MB
~144K SLoC