Ero sivun ”Sort” versioiden välillä
Pb (keskustelu | muokkaukset) p (wikilinkki, termi) |
(Kuvausta selkeytetty) |
||
(5 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | |||
'''sort''' on [[komentorivi]]ohjelma, joka tulostaa tiedoston sisällön tai sille [[Putkitus|putkitetun]] tiedon järjestetettynä suuruusjärjestykseen. Esimerkiksi mikäli on tiedosto teksti.txt jonka sisältö on seuraava: | |||
54 ab | 54 ab | ||
54 aa foo | 54 aa foo | ||
Rivi 5: | Rivi 6: | ||
4 | 4 | ||
Kun tämä tiedosto sitten annetaan sort:ille parametrina, se tulostuu seuraavasti: | Kun tämä tiedosto sitten annetaan sort:ille parametrina, se tulostuu seuraavasti: | ||
$sort testi.txt | $ sort testi.txt | ||
3 gnu | 3 gnu | ||
4 | 4 | ||
Rivi 14: | Rivi 15: | ||
Sopivilla [[valitsin|valitsimilla]] voi muokata sortin toimintaa: | Sopivilla [[valitsin|valitsimilla]] voi muokata sortin toimintaa: | ||
*<tt>-f, --ignore-case</tt>: Älä huomioi isojen ja pienten kirjainten eroa. | *<tt>-f, --ignore-case</tt>: Älä huomioi isojen ja pienten kirjainten eroa. | ||
*<tt>-k, --key=KEYDEF</tt>: Järjestää rivit KEYDEF määrittelemän kentän mukaan. Kenttien erotinmerkkinä tyhjätilamerkki. | |||
*<tt>-M, --month-sort</tt>: Huomioi kuukaudet seuraavasti: JAN < ... < DEC | *<tt>-M, --month-sort</tt>: Huomioi kuukaudet seuraavasti: JAN < ... < DEC | ||
*<tt>-n, --numeric-sort</tt>: Vertaa merkkijonoja numeroina (jolloin 101>11, ilman tätä päinvastoin). | *<tt>-n, --numeric-sort</tt>: Vertaa merkkijonoja numeroina (jolloin 101>11, ilman tätä päinvastoin). | ||
*<tt>-o, --output=TIEDOSTO</tt>: Kirjoita tuloste tiedostoon TIEDOSTO. | *<tt>-o, --output=TIEDOSTO</tt>: Kirjoita tuloste tiedostoon TIEDOSTO. | ||
*<tt>-r, --reverse</tt>: Tuloste käännetyssä järjestyksessä | *<tt>-r, --reverse</tt>: Tuloste käännetyssä järjestyksessä. | ||
*<tt>-R, --random-sort</tt>: Järjestä rivit satunnaiseen järjestykseen. | |||
*<tt>--random-source</tt>: Satunnaisdatan lähde (esimerkiksi /dev/[[random]] tai <tt>/dev/urandom</tt>). | |||
=== Lajittelu sarakkeittain === | |||
<tt>-k, --keydef</tt> -valitsimella voi lajitella rivejä sarakkeittain yhden tai useamman sarakkeen perusteella. Lajittelujärjestys voidaan ilmaista sarakekohtaisesti muilla valitsimilla. | |||
Lajittele seitsemäs sarake numerojärjestykseen: | |||
sort -k 7n | |||
Lajittele ensin neljännen ja sitten viidennen sarakkeen perusteella: | |||
sort -k 4 -k 5 | |||
Lajittele ensin neljännen ja sitten viidennen sarakkeen perusteella. Viides sarake numerojärjestyksessä: | |||
sort -k 4 -k 5n | |||
=== Lajittelu kuukauden perusteella === | |||
Sortin <tt>-M</tt>-valitsimella voi lajitella kuukauden perusteella. Oletusarvoisesti valitsin toimii vain silloin, kun kuukaudet on kirjoitettu isoilla kirjaimilla: JAN, FEB, MAR, jne... | |||
Avuksi voi ottaa <tt>f</tt>-valitsimen, joka käskee Sort-toimintoa sivuuttamaan kirjainkoon: | |||
sort -f -M | |||
Jos sarakkeessa 6 on vuosiluku ja sarakkeessa 5 kuukausi, vuoden ja kuukauden perusteella lajittelu tapahtuisi näin: | |||
sort -f -k 6n -k 5M | |||
== Katso myös == | == Katso myös == | ||
Rivi 24: | Rivi 50: | ||
*[[Uniq]] | *[[Uniq]] | ||
[[Luokka:Coreutils]][[Luokka:Komentorivin perustyökalut]] | [[Luokka:Coreutils]] | ||
[[Luokka:Komentorivin perustyökalut]] |
Nykyinen versio 16. marraskuuta 2018 kello 23.30
sort on komentoriviohjelma, joka tulostaa tiedoston sisällön tai sille putkitetun tiedon järjestetettynä suuruusjärjestykseen. Esimerkiksi mikäli on tiedosto teksti.txt jonka sisältö on seuraava:
54 ab 54 aa foo 3 gnu 4
Kun tämä tiedosto sitten annetaan sort:ille parametrina, se tulostuu seuraavasti:
$ sort testi.txt 3 gnu 4 54 aa foo 54 ab
Valitsimia[muokkaa]
Sopivilla valitsimilla voi muokata sortin toimintaa:
- -f, --ignore-case: Älä huomioi isojen ja pienten kirjainten eroa.
- -k, --key=KEYDEF: Järjestää rivit KEYDEF määrittelemän kentän mukaan. Kenttien erotinmerkkinä tyhjätilamerkki.
- -M, --month-sort: Huomioi kuukaudet seuraavasti: JAN < ... < DEC
- -n, --numeric-sort: Vertaa merkkijonoja numeroina (jolloin 101>11, ilman tätä päinvastoin).
- -o, --output=TIEDOSTO: Kirjoita tuloste tiedostoon TIEDOSTO.
- -r, --reverse: Tuloste käännetyssä järjestyksessä.
- -R, --random-sort: Järjestä rivit satunnaiseen järjestykseen.
- --random-source: Satunnaisdatan lähde (esimerkiksi /dev/random tai /dev/urandom).
Lajittelu sarakkeittain[muokkaa]
-k, --keydef -valitsimella voi lajitella rivejä sarakkeittain yhden tai useamman sarakkeen perusteella. Lajittelujärjestys voidaan ilmaista sarakekohtaisesti muilla valitsimilla.
Lajittele seitsemäs sarake numerojärjestykseen:
sort -k 7n
Lajittele ensin neljännen ja sitten viidennen sarakkeen perusteella:
sort -k 4 -k 5
Lajittele ensin neljännen ja sitten viidennen sarakkeen perusteella. Viides sarake numerojärjestyksessä:
sort -k 4 -k 5n
Lajittelu kuukauden perusteella[muokkaa]
Sortin -M-valitsimella voi lajitella kuukauden perusteella. Oletusarvoisesti valitsin toimii vain silloin, kun kuukaudet on kirjoitettu isoilla kirjaimilla: JAN, FEB, MAR, jne...
Avuksi voi ottaa f-valitsimen, joka käskee Sort-toimintoa sivuuttamaan kirjainkoon:
sort -f -M
Jos sarakkeessa 6 on vuosiluku ja sarakkeessa 5 kuukausi, vuoden ja kuukauden perusteella lajittelu tapahtuisi näin:
sort -f -k 6n -k 5M