2 releases
Uses old Rust 2015
0.1.1 | Mar 11, 2017 |
---|---|
0.1.0 | Mar 6, 2017 |
#6 in #capture-group
10KB
246 lines
extract
Extract text from text using a regex - a simple way to consume keyed fields from poorly-(or un-)structured text.
Usage
Extract accepts as an argument a regex with a single capture group, and will read lines from stdin, printing captured values.
> echo "hello subject=world" | extract "subject=(.+)"
world
extract
keeps reading until it reaches the end of input, processing lines one-at-a-time:
> cat multiline
Hello subject=world
Hello subject=Dorris
> cat multiline | extract "subject=(\w+)"
world
Dorris
Installation
From source:
cargo install
From crates.io
:
cargo install extract
License
MIT / Apache 2.
Issues / Contributing
Feel free to open an issue / PR. I'd be interested in adding support for more structured outputs (e.g. JSON from a regex with named capture groups).
FAQs
- How is this different to
grep -o
?
extract
only prints the catured group, not the whole match.
- Can't you use
sed
for this?
Not first time, normally. Maybe your sed-fu is better than mine. This tool was originally created when I needed to extract ids from the output of xinput --list
, in frustration after the fourth attempt to deliver the correct incantations to sed
.
Dependencies
~7MB
~144K SLoC