next up previous index
Következő: 15.110.4 KOMPATIBILITÁS Fel: 15.110 sort(1) Előző: 15.110.2 VÁZLAT   Index

15.110.3 LEÍRÁS

A sort parancs rendezi, összefűzi vagy összehasonlítja a megadott szövegfájlok, vagy ha nincs fájl megadva, a standard input minden sorát. A ,,-'' fájlné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 fájlok 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 fájlokat, hogy egy fájlnak tekinti őket, és annak sorait rendezi. Minden megadott fájlnak 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 byte-onké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 fájl 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 fájlok 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önyv 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ívü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értelmezé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 mellett 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.


next up previous index
Következő: 15.110.4 KOMPATIBILITÁS Fel: 15.110 sort(1) Előző: 15.110.2 VÁZLAT   Index

1999-09-17