Provided by:
manpages-fi_0.2-2_all 
NIMI
sort - järjestää tekstitiedostojen rivejä
YLEISKATSAUS
sort [-cmus] [-t erotin] [-o tulostetiedosto] [-T tilapäishakemisto]
[-bdfiMnr] [+PAIKKA1 [-PAIKKA2]] [-k PAIKKA1[,PAIKKA2]] [tiedosto...]
sort {--help,--version}
KUVAUS
Tätä dokumenttia ei enää ylläpidetä ja se voi olla virheellinen tai
puutteellinen. Texinfo-dokumentit ovat nykyisin virallista ohjeistoa.
Tämä käsikirja kuvaa GNU:n sort-versiota. sort järjestää, yhdistää ja
vertailee kaikki tekstirivit, jotka luetaan annetuista tiedostosta tai
vakiosyötteestä, jos lähdetiedostoa ei ole määritelty. Tiedosto, jonka
nimenä on ’-’, tarkoittaa vakiosyötettä. sort tulostaa
oletusarvoisesti tuloksen vakiotulosteeseen.
sort-käskyllä on kolme toimintatilaa: järjestä (oletuksena), yhdistä
sekä tarkista, että annetut rivit on jo järjestetty. Seuraavat
parametrit muuttavat toimintatilaa.
-c Tarkistaa ovatko annetut tiedostot jo järjestetty. Jos ne eivät
ole vielä kokonaan järjestettyjä, tulosta virheilmoitus ja
lopeta arvolla 1.
-m Yhdistä annetut tiedostot järjestämällä ne ryhmänä. Jokaisen
syötetiedoston tulisi olla jo järjestetty. Yhdistämisen sijaan
voidaan aina käyttää järjestämistä. Yhdistäminen on
mahdollistettu, koska se on nopeampaa kuin järjestäminen.
Kahden rivin keskinäinen vertailu tapahtuu seuraavasti. Jos yksikin
avainkenttä (key field) on määritelty, sort vertaa jokaista kenttäparia
siinä järjestyksessä, mitä komentorivillä on määrätty huomioiden
järjestämistä koskevat komentorivivivut. Kenttien keskinäistä
vertailua jatketaan, kunnes kahden rivin kenttien välillä havaitaan ero
tai kenttiä ei ole enää jäljellä.
Jos jokin yleisistä (global) vivuista Mbdfinr on annettu, mutta
avainkenttiä ei ole määritelty, sort vertailee kokonaisia rivejä
yleisten vipujen määräämällä tavalla.
Lopuksi viimeisenä keinona, jos kaikki avaimet ovat yhtä suuria (tai
kun yhtään järjestysvipua ei ole annettu) sort vertailee rivejä tavu
tavulta koneen tavuille antaman järjestyksen mukaisesti. "Viimeinen
keino" -vertailu noudattaa yleistä vipua -r. -s (stable) -vipu poistaa
"Viimeinen keino" -vertailumenetelmän käytöstä. Tästä seuraa, että
rivit, joiden kaikki kentät ovat vertailussa yhtä suuret jätetään
alkuperäiseen järjestykseen. Jos kenttiä tai yleisiä vipuja ei ole
määritelty, -s -vivulla ei ole mitään vaikutusta.
GNU sort-käskyllä ei ole mitään rajoitusta sen suhteen, kuinka pitkiä
syötteenä olevat rivit voivat olla tai kuinka monta tavua ne voivat
sisältää. Lisäksi, jos syötetiedoston viimeinen tavu ei ole uusirivi-
merkki (newline), GNU sort lisää sen automaattisesti.
Jos ympäristömuuttuja TMPDIR on asetettu, sort käyttää sen määräämää
hakemistoa tilapäistiedostojen tallentamiseen oletushakemiston /tmp
sijasta. -T tilapäishakemisto vipu on toinen tapa, jolla voidaan
määritellä hakemisto, jossa säilytetään tilapäistiedostoja. Jos se on
annettu, TMPDIR ympäristömuuttujan määräämää hakemistoa ei käytetä.
Seuraavat vivut vaikuttavat tulosteena annettavien rivien
järjestykseen. Ne voidaan määritellä yleisesti tai ne voivat olla
avainkenttäkohtaisia. Jos avainkenttiä ei ole määritelty, yleiset
vivut koskevat koko rivin vertailuja. Muutoin yleiset vivut koskevat
niitä kenttiä, joille ei ole erikseen määritelty kenttäkohtaisia
vipuja.
-b Jätä huomiotta rivien alussa oleva tyhjä (blanks) tila
etsiessäsi avaimia, joiden mukaisesti järjestäminen tehdään.
-d Järjestä "sanakirjajärjestykseen". Vertailtaessa avainkenttiä
vain kirjaimet, numerot ja tyhjät merkit (blanks) huomioidaan.
-f Huomioi pienet kirjaimet kuin ne olisivat vastaavia isoja
kirjaimia. Esimerkiksi "b" järjestetään samaan tapaan kuin "B".
-i Jätä huomioimatta merkit, jotka ovat ASCII-alueen 040-1076
(oktaalimuodossa, päädyt mukaan lukien) ulkopuolella.
-M Vertaile kuukausina. Kentän kolme ensimmäistä ei-tyhjää (blank)
merkkiä muunnetaan isokirjaimisiksi ja käytetään näitä rivien
välisissä vertailuissa. Esimerkiksi englanninkieliset kuukauden
nimet vertaillaan järjestyksessä
"JAN" < "FEB" < ... < "DEC". Virheelliset kuukauden nimet
käsitellään lajittelussa pienempinä kuin "JAN".
-n Määrää, että lajitteluavain koostuu rivin ensimmäisessä kentässä
sijaitsevasta numeerisesta merkkijonosta. Rivien järjestys
riippuu numeerisen merkkijonon (luvun) arvosta. Merkkijono
koostuu alussa olevasta tyhjästä tilasta, valinnaisesta -
merkistä, nollasta tai usemmasta numerosta, jota seuraa
valinnainen desimaalipiste sekä nolla tai useampia numeroita.
-r Kääntää vertailun tuloksen siten, että suurempiavaimiset rivit
esiintyvät aikaisemmin tulosteessa kuin pienempiavaimiset.
Muut vivut ovat:
-o tulostetiedosto
Kirjoita tuloste tulostetiedostoon eikä vakiotulosteeseen. Jos
tulostetiedosto on toinen syötetiedostoista, sort kopioi sen
sisällön tilapäistiedostoon ennen järjestämistä ja tulosteen
kirjoittamista tulostetiedostoon.
-t erotin
Käytä merkkiä erotin kenttäerottimena erottamaan
järjestämisavaimet jokaisella rivillä. Oletusarvoisesti kentät
erotetaan toisistaan tyhjällä (blanks) merkillä, joka sijaitsee
kahden ei-tyhjän merkin välissä. Eli, jos annetaan syöte " foo
bar", sort katkaisee sen kenttiin "foo" ja "bar".
Kenttäerottimen ei katsota kuuluvan erotinta edeltävään eikä
seuraavaan kenttään.
-u Oletustapausta varten tai, jos käytetään vipua -m, tulosta vain
ensimmäinen niistä riveistä, jotka ovat vertailussa yhtä suuria.
Käytettäessä -c vipua tarkista ettei yksikään toisiaan
seuraavista riveistä ole vertailussa yhtäsuuret.
+PAIKKA1 [-PAIKKA2]
Määrittää riviltä kentän, jota käytetään lajitteluavaimena.
Kenttä koostuu rivin osasta, joka alkaa kohdasta PAIKKA1 ja
loppuu kohtaan (poislukien merkki, joka on kohdassa PAIKKA2)
PAIKKA2 (tai tiedoston loppuun, jos PAIKKA2:ta ei ole
määritelty). Kenttien ja merkkien paikkojen indeksointi alkaa
nollasta (0).
-k PAIKKA1[,PAIKKA2]
Toinen tapa määritellä lajitteluavaimet. Kenttien ja merkkien
paikkojen indeksointi alkaa yhdestä (1).
Paikka ilmoitetaan muodossa f.c, missä f on käytettävän kentän numero
ja c on ensimmäisen avaimeen kuuluvan merkin paikka kentän alusta
lukien (jos käytetään +PAIKKA) tai tätä kenttää edeltävän kentän
lopusta (jos käytetään -PAIKKA). c-osa paikan määrityksestä voidaan
jättää pois, jolloin sen oletetaan olevan ensimmäinen merkki
määritellyssä kentässä. Jos annetaan -b-vipu, c-osa
kenttämäärittelystä lasketaan kentän ensimmäisestä ei-tyhjästä
(nonblank) merkistä (jos käytetään +PAIKKA) tai ensimmäisestä ei-
tyhjästä merkistä, joka seuraa edellistä kenttää (jos käytetään
-PAIKKA).
Vipuihin +PAIKKA tai -PAIKKA voi olla liitettynä myös mikä tahansa
vipujen kirjain Mbdfinr, jolloin yleisiä lajitteluvipuja ei käytetä
kyseisessä kentässä. -b-vipu voidaan liittää kumpaan tahansa tai
molempiin +PAIKKA- tai -PAIKKA-osiin kenttämäärittelyssä. Jos -b on
määritelty yleisenä vipuna, liitetään se molempiin. Jos käytetään -n-
tai -M-vipuja, viittaa se -b-vivun käyttöön, tällöin -b-vivun katsotaan
koskevan sekä +PAIKKA- että -PAIKKA-osia avainmäärittelystä. Avaimet
voivat käsittää useita kenttiä.
Lisäksi, käynnistettäessä GNU sort täsmälleen yhdellä
komentoriviparametrillä tunnistetaan seuraavat vivut:
--help Tulostaa suppean käyttöoppaan vakiotulosteeseen ja poistuu
onnistuneesti ohjelmasta.
--version
Tulostaa versiotiedot vakiotulosteeseen ja poistuu onnistuneesti
ohjelmasta.
YHTEENSOPIVUUS
Aikaisemmat (BSD ja SYSTEM V) sort-toteutukset poikkeavat joidenkin,
erityisesti -b, -f ja -n vipujen käytön osalta. GNU sort soveltaa
POSIX-käytäntöä, joka on yleensä samanlainen kuin (muttei aina!) System
V:n käytäntö. POSIX:in mukaan -n ei enää välttämättä tarkoita, että
vipua -b olisi käytetty. Yhdenmukaisuuden vuoksi -M-vivun merkitystä
on muutettu samalla tavalla. Tämä saattaa vaikuttaa merkkien
paikkoihin kenttämäärittelyissä joissain harvinaisissa tapauksissa.
Jos tämä kaivertaa sinua, onnistuu korjaus lisäämällä yksinkertaisesti
-b-vipu.
BUGIT
Kenttänumeroiden eri merkitys, riippuen siitä käytetäänkö -k vipua vai
ei, on hämmentävää. Se kaikki on POSIX:n syytä!