A pipeA fejezet elsõ részében megtanultuk egy program standard be- és kimenetét átirányítani. Ha egy program kimenetét egy másik program bemeneteként akarjuk felhasználni, akkor átirányíthatjuk egy fájlba, majd onnan a másik programba.Mivel egy program kimenetének egy másik program bemeneteként való felhasználására gyakran van szükség, ezért létezik egy közvetlen megoldás, a pipe[1]. A pipe használata egyszerû, a két program közé egy | jelet kell tenni: $ ls | wc 20 20 118 $Látható, hogy a pipe használata kényelmesebb és egyszerûbb, mint a fájlba kiírás, ráadásul nem igényel lemezterületet. A pipe halmozható, azaz egy program kimenetét fogadhatja egy másik program, ami egy harmadik programnak adja át a kimenetét, és így tovább. A pipe és az átirányítások kombinálhatóak, csak arra kell ügyelni, hogy amit átirányítottunk, azt ne próbáljuk meg még egyszer felhasználni pipe-ban, mert egy dolgot nem lehet kétfelé irányítani[2]. Az alábbi példa azt számolja meg, hogy hány sorban fordul elõ Pilinszky János összegyûjtött verseiben a ``messze'' szó. Elõször a cat paranccsal kiíratjuk, majd ezt a grep-be irányítjuk. A grep minden egyes sort kiír, amiben szerepel a ``messze'' szó, a sorokat a wc paranccsal számoljuk meg. $ cat pilinszky_osszes.txt | grep messze | wc 25 126 819 $Ahogy egyre több parancsot ismersz majd meg, ráérzel a pipe és az átirányítás használatának a lényegére. Sok ember szeret nagy, komplikált programokat használni, például egy szövegszerkesztõben lehet olyan funkció, ami a fenti feladatot egyszerûen elvégzi. Mégsem valószínû, hogy minden feladatra találsz speciális programot. A UNIX olyan, mint egy szerszámosláda, sok apró, de gyors és hasznos eszközzel. A fent használt programok mindegyike egyszerû feladatokat végez, de összekapcsolva õket képesek bonyolultabb problémákat is megoldani. Megjegyzések
|