#regex #extracting #capture-group #line #text

bin+lib extract

从文本中提取文本的工具

2 个版本

使用旧的 Rust 2015

0.1.1 2017 年 3 月 11 日
0.1.0 2017 年 3 月 6 日

#6#capture-group

MIT/Apache

10KB
246

extract

Build Status crates.io

使用正则表达式从文本中提取文本 - 简单地消费从不良(或无)结构化文本中提取的键字段。

用法

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