Examples
Real-world pipeline recipes showing patterns in action.
All examples use alias imports for clean code:
import . "github.com/gloo-foo/cmd.grep/alias"
Log Processing
Find 5xx errors, sort them, count unique occurrences.
filter
accumulate
stateful-filter
go
gloo.Run(source, gloo.ByteWriteTo(os.Stdout),
Grep("5[0-9]{2}", Extended),
Sort(),
Uniq(Count),
)
Filter selects lines matching 5xx. Accumulate sorts. StatefulFilter deduplicates and counts.
Data Transformation
CSV to JSON, extract specific fields.
map
go
gloo.Run(source, gloo.ByteWriteTo(os.Stdout),
FromCSV(),
Select("name", "email"),
)
Two Map commands:
FromCSV converts rows to JSON, Select extracts fields.Field Extraction
Extract fields 1 and 3 from comma-delimited input.
map
go
gloo.Run(source, gloo.ByteWriteTo(os.Stdout),
Cut(Fields(1, 3), Delimiter(",")),
)
One Map command. Clean, readable, type-safe.
Multi-Stage ETL
Filter active records, extract a field, number results, take first 10.
filter
map
stateful-map
stateful-filter
go
gloo.Chain(source).
To(Grep("active", IgnoreCase)).
To(Cut(Fields(3), Delimiter(","))).
To(Nl()).
To(Head(Lines(10))).
Sink(gloo.ByteWriteTo(os.Stdout))
Filter → Map → StatefulMap → StatefulFilter. Four patterns, four lines.