Az eddigiekben a cat parancs is, a sort parancs is egy-egy állomány nevét kapta argumentumként. Valójában mindkettő használható paraméter nélkül is:
tux@madas:~/public_html/txt/mp$ cat áj áj kő kő ág ág bő bő őr őr sé sé tux@madas:~/public_html/txt/mp$
A cat parancs a szabványos bemenetről (a standard inputról, esetünkben a billentyűzetről) várja az adatokat, majd földolgozás után a szabványos kimentre küldi az eredményt. A földolgozás ebben az esetben érdemi munkát nem jelent: amit a bemeneten kap, azt továbbadja a kimenetre. Ennek megfelelően keverednek a sorok a fenti példában: a páratlan sorszámúak billentyűzetről kapott bemeneti sorok, a páros sorszámúak –szintén– képernyőre küldött kimeneti sorok. (A bemenet végét a Ctrl-D billentyűkombinációval jeleztük.)
Próbáljuk ki a sort parancsot ugyanezzel a –billentyűzetről kapott– bemenettel:
tux@madas:~/public_html/txt/mp$ sort áj kő ág bő őr sé ág áj bő kő őr sé tux@madas:~/public_html/txt/mp$
A sort parancs megvárja, amíg Ctrl-D-vel jelezzük a bemenet végét. Ez valójában magától értődik: ez a parancs csak akkor tud hozzáfogni az adatok földolgozásához, ha mindegyik rendelkezésre áll már, hiszen lehetséges, hogy az utolsóként megkapott sor lesz az eredmény első sora.
Az előző bekezdésben írtak leegyszerűsítik a valóságot: a rendezéshez hozzá lehet fogni akkor is, ha az adatoknak még csak egy részét kaptuk meg. És mivel a unix sort parancsa a Neumann János által 1945-ben leírt összefésüléses rendezés algoritmusát követi, erre meg is van a lehetőség, sőt, egykor ez szükségszerű volt: a mai szemmel nézve hihetetlenül kevés memóriával rendelkező korai számítógépek négy mágnesszalagos egység segítségével tudtak nagy mennyiségű adatot rendezni. Részletesebben lásd a Merge sort szócikket a wikipédián.
Pontosabban fogalmazva tehát: a sort parancs csak akkor írhatja ki az eredményt, ha a teljes bemenetet földolgozta már.
Gyakorlati szempontból elég haszontalannak tűnik a következő példa (is), de szokjuk vele a grep parancsot (meg jobban érthetjük, mit jelent a bemenet-kimenet sorainak keveredése):
tux@madas:~/public_html/txt/mp$ grep á áj áj kő ág ág bő őr sé tux@madas:~/public_html/txt/mp$
Miért kellett a múltkor idézőjelet használni a grep paraméteréhez?
Mind a fenti példák egyetlen célt szolgáltak: annak előkészítését, hogy a fenti parancsok bemenete (egy halom továbbiéval együtt) átiránytható:
tux@madas:~/public_html/txt/mp$ grep simon < ksh_hnk_1913.txt simonyifalva simony simontelke csíkszentsimon simon szentsimon rimasimonyi nyárádszentsimon simonfa somogysimonyi simonmajor simontornya nagysimonyi tux@madas:~/public_html/txt/mp$ sort < ksh_hnk_1913.txt > temp tux@madas:~/public_html/txt/mp$ wc ksh_hnk_1913.txt temp 12538 12548 137383 ksh_hnk_1913.txt 12538 12548 137383 temp 25076 25096 274766 összesen tux@madas:~/public_html/txt/mp$
Az ember hajlamos azt hinni, hogy a paraméterként átadott állománynév, illetve a bemenet átirányítása (ugyanabból az) állományból egyenértékű, de ez nem egészen így van. Ha mást nem is, annyit már most érdemes lehet megjegyezni, hogy ha paraméterként adunk meg egy állománynevet, akkor azt a parancs „látja”; ha a parancs bemenetét irányítjuk át, akkor a parancs a parancsértelemzőtől a bemenet sorait kapja meg, és „nincs tudomása” arról, hogy ezek a sorok honnan (melyik állományból) származnak.