Думаю над идеей одной небольшой программы для обработки байтовых потоков. Пока что думаю сделать у нее параметры для указания входных и выходных файлов, как альтернативы стандартному вводу-выводу. Но пришла в голову мысль, а что если сделать поддержку TCP потоков? Что бы в качестве входного или выходного «файла», можно было указать сетевой адрес и TCP порт? Но это как то всё с философией UNIX не вяжется. Потому что конкретно для этих целей должны быть специальные утилиты и они должны использоваться в конвейере.
Но с другой стороны. Зачем я вообще планировал дать возможность осободить стандартный ввод-вывод? Что бы выводить в нём прогресс-индикатор, с числом оставшихся блоков и текущей скоростью.
А если всё таки делать поддержку TCP, то как однозначно и универсально отделить сетевые адреса и порты от имён файлов?