Vstup, výstup a přesměrování

6. Roura - pipe

Speciální typ přesměrování představuje operátor "roura" (|). Jeho název vychází z anglického slova pipe. Tento operátor umožňuje předat výstup jednoho programu jako vstup bezprostředně následujícímu programu.

 


Operátor lze použít vícenásobně. Výstupy jednotlivých programů v sekvenci příkazů spojených rourou se nezobrazují na obrazovku, protože jsou přesměrovávány jako vstup do následujícího programu. Teprve výstup posledního programu je přesměrován na standardní výstup.

 


Programům, které se tímto způsobem používají, se obvykle říká filtry, právě pro jejich funkci dílčího průběžného, nikoliv konečného, zpracování dat. Takto lze použít drtivou většinu běžných příkazů, jmenujme například sort, uniq, wc, head, tail, ale také grep, tr, sed, awk a další.

Za zmínku ještě stojí příkaz tee, který dokáže rozdělit standardní výstup a přesměrovat ho do souboru a jako vstup následujícímu programu zároveň.