Others answered in different ways, but I want to point out that using xargs output for multiplexing is a pretty bad idea.
Instead, why would you:
awk '$2=="100%" { sub("100%[[:space:]]*",""); print; print >>"fake.log"}' dbfake
It's all. You do not need grep, you do not need multiple channels, and definitely you do not need to use a fork shell for every line that you output.
You can do awk ...; print}' | tee fake.log awk ...; print}' | tee fake.log awk ...; print}' | tee fake.log , but forking tee doesn't make much sense if awk can handle it too.
user80168
source share