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))
FilterMapStatefulMapStatefulFilter. Four patterns, four lines.