I am getting a stream of numbers in a pipe, and would like to perform some operations before passing them on to the next section, but I’m a little lost about how I would go about it without breaking the pipe.
for example
> echo "1 2 3 4 5" | some command | cat 1 4 9 16 25 >
Would you have any ideas on how to make something like this work? The actual operation I want to perform is simply adding one to every number.
Advertisement
Answer
echo 1 2 3 4 5|{ read line; for i in $line; do echo -n "$((i * i)) "; done; echo }
The {} creates a grouping. You could instead create a script for that.