Ero sivun ”Sort” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Kuvausta selkeytetty)
 
(6 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Sort on komentoriviohjelma, 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:
{{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 11: Rivi 12:
  54 ab
  54 ab


=== Parametreja ===
=== Valitsimia ===
Sopivilla parametreilla 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

Katso myös[muokkaa]