Sort
From ICO wiki
Teema võttis: Marko Valing, AK31
Teema on pooleli.
Sissejuhatus
sort käsk sorteerib sisendi/faili sisu vastavalt väljadele - tühikute või muude märkidega eraldatud rea osad. Vaikimisi sort eeldab, et väljad on sõnad, mida eraldavad tühikud, kuid on võimalik anda ette mõni muu eraldaja juhul kui on soovi (näiteks ",", ";", ":" jne). Käsu väljund trükitakse ekraanile juhul, kui ei suunata seda faili.
Näidis
Algandmed:
$ cat andmed.txt Peeter Uuno 90000 Põlva Mari Jalakas 10000 Viljandi Tõnu Tõnter 25000 Tartu Liis Lillekas 35000 Kärdla Roland Reemus 61000 Tartu Taavi Taevatäht 5200 Maardu
Sorteeritud (real oleva numbrite järjekorra, mitte väärtuse järgi):
$ sort +2 -3 andmed.txt Mari Jalakas 10000 Viljandi Tõnu Tõnter 25000 Tartu Liis Lillekas 35000 Kärdla Taavi Taevatäht 5200 Maardu Roland Reemus 61000 Tartu Peeter Uuno 90000 Põlva
Süntaks
sort <võtmed> <faili nimi>
Võtmed
sort käsul on kolm režiimi, vaikimisi, liitmine (-m) ja kontroll (-c)
- -c Kontrollib, kas sisendiks antud andmed on sorteeritud. Juhul kui ei ole sorteeritud, trükitakse veateade ning lõpetatakse programmi töö staatus 1-ga.
- -m Liidetakse sisendiks antud juba sorteeritud andmed. Andmete sorteerimist uuesti ei toimu.
Põhilised võtmed
- -b Ignoreeritakse väljadele või eraldajatele järgnevaid tühikuid.
- -d Võetakse arvesse ainult tühikud, tähed ja numbrid [a-z A-Z 0-9].
- -f Kaotatakse sorteeritavates ridades tõstutundlikuse, st "b" ja "B" sorteeritakse kui võrdseid.
- -g Sorteeritakse numbrite jada väärtuse mitte järjekorra järgi. Toob kaasa ka võtme -b.
- -i Ignoreeritakse mitte-trükitavaid tähemärke.
- -M Kalendri järgi kuude sorteerimine, vastavalt hetke lokaadi(locale) järgi. Toob kaasa ka võtme -b.
- -h Sorteeritakse vastavalt inimloetavate numbrite järgi.
- -n Sorteeritakse välja arvutatud stringi numbriline väärtuse järgi. Toob kaasa ka võtme -b.
- -R Sorteeritakse juhuslikult väljade räsi järgi.
- -r Sorteeritud andmed väljastatakse vastupidises järjekorras.
- -V Versiooni järgi sorteerimine.
- --sort=SONA Sorteerimine vastavalt SONA-le. general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V
- --random-source=FAIL Võetakse juhuslikud bitid failist.
Muud võtmed
- -C' Sama nagu -c kuid ei väljastata esimest veaga rida.
- -k POS1[,POS2] Võimaldab määrata väljad, mille järgi read sorteeritakse. POS1 tuleb asendada esimese eraldaja järjekorra numbriga reas alates millest on vaja sorteerida, POS2 tuleb asendada viimase eraldaja järjekorra numbriga reas kuni milleni on vaja sorteerida. Kui POS2 on määramata, siis vaikimisi sorteeritakse rea lõpuni.
- -l Sorteeritakse vastavalt hetke lokaadile(locale).
- -o FAIL Sorteeritud andmete väljund suunatakse faili, mitte standardväljundisse.
- -S SUURUS Määrab ära mälupuhvri suuruse vastavalt SUURUS väärtusele.
- -t ERALDAJA Võimaldab määrata väljade eraldaja.
- -T KATALOOG Programmi käivitamisel loodavad ajutised failid hoitakse kataloogis KATALOOG.
- -u Koos võtmega -c tehakse range järjestatuse kontroll. Vaikimisi, väljastatakse võrdsetest ridadest ainult üks.
- -z Lõpetab read reavahetuse asemel 0 baidiga.
- -s' Vajab täiendamist.
- --batch-size=NMERGE Vajab täiendamist.
- --compress-program=PROG Vajab täiendamist.
- --files0-from=F Vajab täiendamist.
- --help Väljastatakse programmi sort abiinfo.
- --version Väljastatakse programmi sort versiooon.
Näited
Protsessi tabeli sorteerimine PID välja järgi
$ ps aux | sort -nk2
-nk2 tähendab, et sorteeritakse teise välja (k2) numbrilise väärtuse (n) järgi.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 23844 2000 ? Ss 14:33 0:00 /sbin/init root 2 0.0 0.0 0 0 ? S 14:33 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 14:33 0:00 [ksoftirqd/0] root 4 0.0 0.0 0 0 ? S 14:33 0:00 [migration/0] root 5 0.0 0.0 0 0 ? S 14:33 0:00 [watchdog/0] ...