Hmm. Un*x philosophy says the grep method is actually the way to go. If you want more control, you might also consider JSON output and combine that with a JSON tool like jq.
But that is just my take. I kinda like the idea of having one tool do one thing well.