sort


NÉV

sort - szövegfile sorainak rendezése

HASZNÁLAT

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

LEÍRÁS

Ez a "kézikönyvoldal" a sort parancs GNU verzióját írja le. A sort parancs rendezi, összefûzi vagy összehasonlítja a megadott szövegfile, 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 is rendezettnek kell lennie. A rendezés mindig mûködik az összefûzés helyett, de ha az összefûzés mûködik (vagyis a fileok már egyenként rendezve vannak), akkor sokkal gyorsabb a rendezésnél.

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 betû 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 mezoˆ azonos, akkor a sorok az eredeti sorrendben maradnak. Ha bármilyen globális opció adott, 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éké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 módon 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ôstring után álló, hónapneveket jelölô hárombetûs röcidótéseket nagybetûs szavakként kezeli, és a hagyományos idôrendi sorrendben hasonlítja össze ôket: 'JAN' < 'FEB' < ... < 'DEC'.

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

-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 (output-file)
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ó
Használjon karakter elválasztót mezôelválasztónak, ha a sorokban kulcskaraktereket keres. Alapértelmezés szerint a mezôket üres karakterlánc választja el egymástól, mely egy nem fehér é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]
Változó kezdetū rendezési kulcs megadása. 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.