Pipa pertama ini berfungsi dengan baik (mencetak "c"):
echo "a" | sed 's/a/b/' | sed 's/b/c/'
Yang ini tidak melakukan apa yang saya harapkan (tidak ada yang dicetak ketika saya memberi "a" ke fifo saya):
mkfifo fifo;
cat fifo | sed 's/a/b/' | sed 's/b/c/'
Namun, jika saya menghapus perintah "sed" kedua dari pipa yang terakhir, saya mendapatkan cetakan "b". Saya pikir pemahaman saya tentang pipa dan pengalihan harus terlalu sederhana. Dapatkah seseorang menjelaskan kepada saya cara memperbaiki kasus ke-2 sehingga saya dapat menjalankan dua perintah berturut-turut pada isi fifo?
(perhatikan ini bukan masalah khusus untuk fifo, perilaku yang sama terjadi dengan netcat juga. Saya memposting pertanyaan serupa tentang netcat tetapi tidak mendapat jawaban)
echo "a" >fifo
GNU sed version 4.2.1