Use a opção -u ( --unbuffered ) do sed, para que ele grave sua saída, em vez de coletá-la primeiro para uma gravação rápida e grande depois.
cat fifo | sed -u 's/a/b/' | sed -u 's/b/c/'
cat está sempre sem buffer.
Se não for sobre sed , mas algum programa com buffer de saída, mas sem opções para desabilitá-lo, existem ferramentas que podem ajudar a forçar o buffer off - veja man unbuffer e man stdbuf .
Se for um script de shell, ele deve ser unbuffered por padrão: quando um comando cria uma saída no script e sai, a saída é liberada. Caso contrário, você usa unbuffer dentro do script de shell.
Para informações básicas, consulte esta visão geral do armazenamento de dados Stary .