A Linux rendezési parancs szabályai és példái
Adatok a Linux szöveges fájl rendezhető a sort paranccsal mindaddig, amíg az egyes elemek valamilyen módon el vannak határolva. Gyakran a vesszőt használják elválasztóként a körülhatárolt információkhoz.

A válogatás alapvető szabályai
A sort parancs átrendezi a sorokat egy szövegfájlban, hogy a sorokat numerikusan és betűrendben rendezze. A sort parancs alapértelmezett szabályai a következők:
- A számmal kezdődő szöveg a betűvel kezdődő szöveg előtt jelenik meg; az alacsonyabb számokat rendezze először.
- Azok a szövegek, amelyek egy olyan betűvel kezdődnek, amely korábban jelenik meg az ábécében, mint a többi szövegbejegyzés első betűje, az ábécében később megjelenő betűvel kezdődő szöveg elé kerül sor.
- Amikor szöveg Ugyanazon betű kis- és nagybetűivel kezdődik, először a kisbetűket rendezi a rendszer.
Szövegfájl rendezése
A sorok rendezéséhez egy elválasztott Linux-fájlban használja a rendezést parancs mint ez:
sort -k2 table1.txt
Ez a parancs rendezi a fájlt
1, Justin, Timberlake, 545. cím, ára 7,30 USD
2, Taylor, Swift, 723. cím, ára 7,90 USD
3, Mick, Jagger, 610. cím, ára 7,90 USD
4, Lady, Gaga, 118. cím, ára 7,30 dollár
5, Johnny, készpénz, 482. cím, ára 6,50 USD
6, Elvis, Presley, 335. cím, ára 7,30 USD
7, John, Lennon, 271. cím, ára 7,90 USD
8, Michael, Jackson, 373. cím, ára 5,50 USD
Mivel a példa második oszlopa keresztneveket tartalmaz, a rendezett kimenet a második oszlopban lévő egyes személyek keresztnevének első betűje szerint van elrendezve, az alábbiak szerint:
6, Elvis, Presley, 335. cím, ára 7,30 USD
7, John, Lennon, 271. cím, ára 7,90 USD
5, Johnny, készpénz, 482. cím, ára 6,50 USD
1, Justin, Timberlake, 545. cím, ára 7,30 USD
4, Lady, Gaga, 118. cím, ára 7,30 dollár
8, Michael, Jackson, 373. cím, ára 5,50 USD
3, Mick, Jagger, 610. cím, ára 7,90 USD
2, Taylor, Swift, 723. cím, ára 7,90 USD
Ha a fájlt a -k3 (az oszloptól kezdődő sor tartalmát használva 3, a Vezetéknév oszlop), a kimenet a következő:
5, Johnny, készpénz, 482. cím, ára 6,50 USD
4, Lady, Gaga, 118. cím, ára 7,30 dollár
8, Michael, Jackson, 373. cím, ára 5,50 USD
3, Mick, Jagger, 610. cím, ára 7,90 USD
7, John, Lennon, 271. cím, ára 7,90 USD
6, Elvis, Presley, 335. cím, ára 7,30 USD
2, Taylor, Swift, 723. cím, ára 7,90 USD
1, Justin, Timberlake, 545. cím, ára 7,30 USD
és -k5 ár szerint rendezett listát készít:
4, Lady, Gaga, 118. cím, ára 7,30 dollár
7, John, Lennon, 271. cím, ára 7,90 USD
6, Elvis, Presley, 335. cím, ára 7,30 USD
8, Michael, Jackson, 373. cím, ára 5,50 USD
5, Johnny, készpénz, 482. cím, ára 6,50 USD
1, Justin, Timberlake, 545. cím, ára 7,30 USD
3, Mick, Jagger, 610. cím, ára 7,90 USD
2, Taylor, Swift, 723. cím, ára 7,90 USD
Várj, ez nem működött, igaz? Az ár szerinti rendezés helyett a parancs a címszám szerint rendezte a listát. Miért? Nos, hacsak nincs megadva az a határoló, amelynél minden sort oszlopokra kell bontani, szóközt használ. Mivel minden címbejegyzés közepén szóköz van, minden bejegyzés negyedik oszlopa a „Cím” szó lesz, az ötödik oszlop pedig a cím száma.
A -t kapcsolóval adja meg a rendezés elválasztóját. Ez pontosan szabályozza, hogy a parancs hol választja el az oszlopokat.
sort -t, -k5 table1.txt
Ez a kívánt eredményt hozza:
8, Michael, Jackson, 373. cím, ára 5,50 USD
5, Johnny, készpénz, 482. cím, ára 6,50 USD
1, Justin, Timberlake, 545. cím, ára 7,30 USD
4, Lady, Gaga, 118. cím, ára 7,30 dollár
6, Elvis, Presley, 335. cím, ára 7,30 USD
2, Taylor, Swift, 723. cím, ára 7,90 USD
3, Mick, Jagger, 610. cím, ára 7,90 USD
7, John, Lennon, 271. cím, ára 7,90 USD
Általában meg kell adni a határolót. Megakadályozza a nem kívánt zavart és a pontatlan eredményeket. Ez különösen igaz a nagyobb fájlokra, amelyek nem mindig nyilvánvalóan helytelenek.
Fordított rendezés
Az -r opció megfordítja a rendezést. Például a fenti eredmények felhasználásával:
sort -r -t, -k5 table1.txt
hozamok:
7, John, Lennon, 271. cím, ára 7,90 USD
3, Mick, Jagger, 610. cím, ára 7,90 USD
2, Taylor, Swift, 723. cím, ára 7,90 USD
6, Elvis, Presley, 335. cím, ára 7,30 USD
4, Lady, Gaga, 118. cím, ára 7,30 dollár
1, Justin, Timberlake, 545. cím, ára 7,30 USD
5, Johnny, készpénz, 482. cím, ára 6,50 USD
8, Michael, Jackson, 373. cím, ára 5,50 USD
Rendezett fájl mentése
A fájl rendezése nem menti el. A rendezett lista fájlba mentéséhez használja az átirányítási operátort:
sort -k6 tábla1.txt > teszt_új.txt
ahol teszt_új.txt az új fájl.
Stream-kimenet rendezése
Alkalmazhatja a sort parancsot egy adatfolyam kimenetére is, például a pipe operátorra:
ls -n | sort -t, -k5
Ez rendezi a fájllista által generált kimenetet ls parancs fájlméret szerint, kezdve a legnagyobb fájlokkal. Az -n operátor numerikus rendezést ad meg, nem pedig ábécé szerint.