SORT(1)

NÉV
sort - szövegfile sorainak rendezése

ÁTTEKINTÉS
sort [-cmus] [-t elválasztó] [-o kimeneti-fájl] [-T átmeneti könyvtár] [-bdfiMnr] [+POS1 [-POS2]] [-k POS1[,POS2]] [fájl...]
sort {--help,--version}

LEÍRÁS
Ez a dokumentáció a továbbiakban nincs karbantartva és pontatlan vagy hiányos lehet. A Texinfo dokumentáció a hiteles forrás.

Ez a kézikönyv oldal a sort parancs GNU verzióját írja le. A sort parancs rendezi, összefűzi vagy összehasonlítja a megadott szövegfájlok, vagy ha nincs file megadva, a standard input minden sorát. A '-' filenév a standard inputot jelenti. Alapértelmezés szerint a sort a standard outputra írja az eredményt.

A sort -nak 3 működési módja van: rendezés (ez az alapértelmezés), összefűzés és a rendezettség vizsgálata. A működést a következő opciók változtatják meg:

-c  Ellenőrzi, hogy a megadott fileok rendezve vannak-e már: ha nincs mindegyik rendezve, akkor hibaüzenetet ír ki és 1-es állapottal kilép.

-m  Úgy fűzi össze a megadott fileokat, hogy egy filenak tekinti öket, és annak sorait rendezi. Minden megadott filenak már önmagában rendezettnek kell lennie. A rendezés mindig működik az összefűzés helyett, az összefűzés azért van mégis, mert sokkal gyorsabb a rendezésnél, ahol működik.

Két sor összefűzése a következőképpen működik: ha bármilyen kulcsmezőt kap, akkor a sort a parancssorban megadott sorrendben összehasonlítja a mezőket a megadott rendezési opciók szerint, s mindaddig megy, amíg különbséget nem talál, vagy nem marad több mező.

Ha az Mbdfinr globális opciók közül bármelyik meg van adva, de nincs megadott kulcsmező, akkor teljes sorokat hasonlít össze az opcióknak megfelelően.

Végül pedig, ha minden kulcs azonos (vagy semmilyen rendezési opció nincs megadva), végső megoldásként byteonként mechanikusan összehasonlítja a sorokat. Ez az összehasonlítás elfogadja a -r opciót. A -s opció letiltja ezt az utolsó összehasonlítást, így ha egy sorban minden mező azonos, akkor a sorok az eredeti sorrendben maradnak. Ha nincs mező, vagy globális opció megadva, akkor a -s opciónak nincs semmilyen hatása.

A GNU sort parancsának nincsenek megkötései a sorhosszakra vagy a sorokban használható karakterekre vonatkozóan. Egyébként ha az input file utolsó byteja nem az új sor jele, akkor a GNU sort automatikusan hozzátold egy sorvégjelet.

Ha a TMPDIR környezeti változó be van állítva, a sort ezt a megadott könyvtárat fogja használni az átmeneti fileok tárolására az alapértelmezés szerinti /tmp könyvtár helyett. A -T könyvtár opció egy másik módja az átmeneti könyvtár beállításának, ez az opció felülírja az előbbi környezeti változót.

A következő opciók a kimeneti sorok rendezését befolyásolják. Globálisan is megadhatóak, vagy egy speciális kulcsmező részeként. Ha nincs kulcsmező megadva, akkor a globális opciók teljes sorok összehasonlítására vonatkoznak, egyébként a globális opciókat azok a mező öröklik, melyekre nincsenek külön opciók megadva.

-b  Figyelmen kívül hagyja a sor elején levő sorközöket, ha mindkét sorban talál egyéb karaktereket is.

-d  "Telefonköny szerinti sorrendbe" rendez, vagyis csak betűket, számokat és szóközöket vesz figyelembe.

-f  Rendezés közben a kis- és nagybetűket nem különbözteti meg, így pl. a `b' és a `B' azonos helyre lesznek rendezve.

-i  Figyelmen kícül hagyja az ASCII-kód szerinti 32-126 intervallumon kívül eső karaktereket.

-M  Egy tetszőleges kezdőstringet (ami bármennyi "white" szoközt tartalmazhat) követő, hónapneveket jelölő hárombetűs rövidítéseket nagybetűs szavakként kezeli, és a hagyományos időrendi sorrendben hasonlítja össze őket:

-n  Kezdeti numerikus szöveg értéke szerinti összehasonlítás. Ez állhat fehér szóközökből, egy esetleges - előjelből és 0 vagy több számjegyből, amit egy tizedespont után további számjegyek követhetnek.

-r  Fordított sorrendű rendezés. Ez lehetővé teszi, hogy a nagyobb kulcsértékű sorok előbb szerepeljenek a kimeneten, mint a kisebbek.

További kapcsolók (Opciók):

-o kimeneti állomány
    Az eredményt a kimeneti állományba írja az alapértelmezés szerinti kimenet helyett. Ha a kimeneti állomány valamelyik bemeneti állomány, akkor a munka megkezdése előtt a sort azt egy ideiglenes állományba másolja, majd az eredményt a kimenetiállományba írja.

-t elválasztó
    Az elválasztó karaktert használja mezőelválasztónak, mikor a sorokban kulcskaraktereket keres. Alapértelmezés szerint a mezőket üres karakterlánc választja el egymástól, mely egy nem szóköz és egy fehér szóköz karakter között helyezkedik el. Például adott a ` foo bar' bemenő sor, amit a sort ` foo' és ` bar' mezőkre tördel. A mezőelválasztó nem feltétlenül része a megelőzött vagy a rákövetkező mezőnek.

-u  Az alapételmezés szerinti esetben, és a -m opciónál csak az első sort írja ki azon egymás után következő sorok közül, amelyek egyformának bizonyultak. A -c opció esetén ellenőrzi, hogy nincs-e két egymás után következő egyforma sor.

+POS1 [-POS2]
    Egy mezőt határoz meg, melyet rendezési kulcsnak használ minden sorban. A mező a sor POS1. karakterével kezdődő és POS2.-re végződő részét tartalmazza. A POS1. még része, de a POS2. vagy a sor vége (ha a POS2-t nem adták meg) már nem. A mezők és a karakterpozíciók számozása 0-val kezdődik.

-k POS1[,POS2]
    Másik módja a rendezési kulcs megadásának. A mezők és a karakterpozíciók számozása 1-gyel kezdődik.

A pozíciót f. c formában adhatjuk meg, ahol az f a használandó mező, a c pedig +pos esetben a mező eleje utáni első, -pos esetben pedig az előző mező vége utáni első használható karakter. A .c részt akkor hagyhatjuk el, ha az a mező első karakterére mutat. Ha a -b opciót is megadtuk, akkor a .c a +pos esetben az mező, a -pos esetben pedig az előző mező utáni első nem üres karakterre mutat.

A +pos és a -pos paraméterek melett az Mbdfinr opciók bármelyike szerepelhet, és ez esetben a globális rendezési opciók nem használhatóak erre a különleges mezőre. A -b opció mind a +pos mind a -pos paraméter része is lehet. Ha ezt a globális opcióktól örökli, akkor mindkettőhöz tartozik. A -n vagy a -M opció használata a -b opció használatát is magával vonja. Ekkor a -b a +pos és a -pos kulcsnak is része lesz. A kulcsok akár több mezőt is áthidalhatnak.

Továbbá, ha a sort -ot pontosan egy paraméterrel hívják meg, akkor a következő opciók is használhatóak:

--help
    Használati utasítást ír ki az alapértelmezés szerinti kimenetre (standard output), majd sikeresen kilép.

--version
    Kiírja a verziójára vonatkozó információkat az alapértelmezés szerinti kimenetre (standard output), majd sikeresen kilép.

KOMPATIBILITÁS

A sort régebbi változatainak (BSD és a System V) néhány opciója különbözik, különösen a -b, -f és -n. A GNU sort a POSIX viselkedését követi, amely gyakran olyan (de nem mindig), mint a System V viselkedése. POSIX következtében a -n már nem vonja magával a -b opciót. Az egységesség miatt már a -M is ugyanígy viselkedik. Ez bonyolultabb esetekben hatással lehet a mezőn belüli karakterpozíció-definiálás jelentésére. Ha ez zavarja önt, akkor adjon meg egy -b opciót is.

ISMERT HIBÁK
A -k következtében megjelenő mezőszámozási különbség zavaró lehet. Ez mind a POSIX hibája.

MAGYAR FORDÍTÁS
Szalay Attila <sasa@sophia.jpte.hu>