point of **pipes** is split the task into separate CPU process - NOT Just to chain input-output
I'm sorry but the whole point of **pipes** is split the task into separate (concurrent) CPU process
Example
cd ~/logs; tail -f *.log|grep -n 'error'|awk '{print $1}' &
[1] 1501967
]$ ps
PID TTY TIME CMD
1501965 pts/0 00:00:00 tail
1501966 pts/0 00:00:00 grep
1501967 pts/0 00:00:00 awk
1501975 pts/0 00:00:00 ps
2144057 pts/0 00:00:00 bash
As leant in 1980s