Monday, February 21, 2022

[SOLVED] Grep into variable and maintain stdout?

Issue

I've got a long running process and I want to capture a tiny bit of data from the big swath of output.

I can do this by piping it through grep, but then I can't watch it spew out all the other info.

I basically want grep to save what it finds into a variable and leave stdout alone. How can I do that?


Solution

With tee, process substitution, and I/O redirection:

{ var=$(cmd | tee >(grep regexp) >&3); } 3>&1


Answered By - oguz ismail
Answer Checked By - Senaida (WPSolving Volunteer)