Вам нужно tee разделить поток на части. Попробуйте:
cat testfile | tee >(wc -l) >(wc -w) >(wc -c) | tail -n 5
Примечания:
Если несколько процессов (wc, tail) все записывают в stdout: вы можете получить искаженный вывод. Нет гарантии о том, как будет выглядеть их выход. Чтобы увидеть это, попробуйте sleep 1; wc -w как второго потребителя. tee заблокирует, если какое-либо из его пунктов назначения не будет потреблять поток достаточно быстро. Смысл, адресаты будут подаваться на вход с примерно одинаковой скоростью (по модулю буферизации фиксированного размера). Для этого нет простого решения, единственной альтернативой является сохранение потока в файл и его передача потребителям отдельно. Для wc и tail это не проблема.Для последнего слова это проще:
echo "some random words" | awk '{print $NF}'