A Linux rendezési parancs használata

A rendezni kívánt elemeket valamilyen módon el kell határolni

A Linux szövegfájlban lévő adatok rendezhetők a rendezési paranccsal mindaddig, amíg minden egyes elemet valamilyen módon elhatárolnak. Gyakran a vesszőt az elválasztott információ elválasztójaként használják.

A rendezés alapszabályai

A sort parancs átrendezi a sorokat egy szövegfájlban, hogy numerikusan és betűrendben rendezze őket. A rendezési parancs alapértelmezett szabályai:

Szövegfájl rendezése

A vonalak sortolásához egy korlátozott Linux-fájlban a következő parancsot használjuk:

$ sort -k2 test.txt

amely a "test.txt" fájlt a második oszlopból induló karakterek szerint rendezi (a k2 a második oszlopra utal). Feltételezve, hogy a bemeneti fájl tartalma:

1, Justin Timberlake, 545 cím, ár 7,30 $ 2, Taylor Swift, 723 cím, ár 7,90 $ 3, Mick Jagger, 610 cím, ár 7,90 $ 4, Lady Gaga, 118. cím, ár 7,30 $ 5, Johnny Cash, cím 482, ár 6,50 $ 6, Elvis Presley, cím 335, ár 7,30 $ 7, John Lennon, 271 cím, ár 7,90 $ 8, Michael Jackson, 373 cím, ár 5,50 $

Mivel a példa második oszlopa tartalmazza az első és utóneveket, a rendezett kimenetet az egyes személyek első nevének első betűjével rendezi el a második oszlopban: Elvis, John, Johnny, Justin, Lady, Michael, Mick és Taylor , az alábbiak szerint:

6, Elvis Presley, 335 cím, ár 6,30 $ 7, John Lennon, 271 cím, ár 7,90 $ 5, Johnny Cash, 482 cím, ár 6,50 $ 1, Justin Timberlake, 545 cím, ár 6,30 $ 4, Lady Gaga cím 118, ár 6,30 $ 8, Michael Jackson, 373 cím, ár 5,50 $ 3, Mick Jagger, 610 cím, ár 7,90 $ 2, Taylor Swift, 723 cím, ár 7,90 $

Ha a (z) -k3 -al rendezi a fájlt (a 3. sor - a cím száma oszlopban kezdődő sor tartalmát használja), a kimenet:

4, Lady Gaga, 118. cím, Ár $ 6.30 7, John Lennon, cím 271, ár 7,90 $ 6, Elvis Presley, 335 cím, ár 6,30 $ 8, Michael Jackson, 373 cím, ár 5,50 $ 5, Johnny Cash, 482 cím, ár 6,50 $ 1, Justin Timberlake, 545 cím, Ár 6,30 $ 3, Mick Jagger, 610 cím, Ár 7,90 $ 2, Taylor Swift, 723 cím, ár 7,90 $

és

$ sort -k4 test.txt

listát állít össze az ár szerint:

8, Michael Jackson, cím 373, ár 5,50 $ 1, Justin Timberlake, 545 cím, ár 6,30 $ 4, Lady Gaga, 118. cím, ár 6,30 $ 6, Elvis Presley, 335 cím, ár 6,30 $ 5, Johnny Cash, cím 482, ár 6,50 $ 2, Taylor Swift, 723 cím, ár 7,90 $ 3, Mick Jagger, 610 cím, ár 7,90 $ 7, John Lennon, 271 cím, ár 7,90 $

Rendezés visszafordítása

A -r opció megfordítja a válogatást. Például a fenti eredmények felhasználásával:

$ sort -k4 -r test.txt

hozamok:

7, John Lennon, cím 271, ár 7,90 $ 3, Mick Jagger, 610 cím, ár 7,90 $ 2, Taylor Swift, 723 cím, ár 7,90 $ 5, Johnny Cash, 482 cím, ár 6,50 $ 6, Elvis Presley, 335 cím, 4, Lady Gaga, cím 118, ár 6,30 $ 1, Justin Timberlake, 545 cím, ár 6,30 $ 8, Michael Jackson, 373 cím, ár 5,50 $

Megosztott fájl mentése

A fájlok rendezése nem menti el. Ha a rendezett listát egy fájlba kívánja menteni, akkor az átirányítási operátort használja:

sort -k4 -r test.txt> test_new.txt

ahol a "test_new.txt" az új fájl.

Stream kimenet rendezése

A rendezési parancsot is alkalmazhatja egy adatfolyó kimenetére, például a cső üzemeltetőjére:

$ ls -al | sort -r -n-k5

Ez az ls parancs által létrehozott fájllista kimeneti fájljának méretét adja meg, a legnagyobb fájlokkal kezdődően. A -n operátor megadja a numerikus sort, nem pedig az ábécé.