Usos del comandament de classificació de Linux

Els elements que s'han d'ordenar han d'estar delimitats d'alguna manera

Les dades d'un fitxer de text de Linux es poden ordenar amb l'ordre d'ordenació sempre que cada element estigui delimitat d'alguna manera. Sovint, la coma s'utilitza com a separador per a informació delimitada.

Regles bàsiques per a la classificació

L'ordenació d'ordenació reordena les línies d'un fitxer de text per ordenar-les numèricament i alfabèticament. Les regles predeterminades per a l'ordre d'ordenació són:

S'està ordenant un fitxer de text

Per ordenar les línies en un fitxer delimitat de Linux, utilitzeu l' ordre de classificació com aquest:

$ sort-k2 test.txt

que ordena el fitxer "test.txt" d'acord amb els caràcters que comencen a la segona columna (k2 es refereix a la segona columna). Si suposem que el contingut del fitxer d'entrada és:

1, Justin Timberlake, Títol 545, Preu $ 7.30 2, Taylor Swift, Títol 723, Preu $ 7.90 3, Mick Jagger, Títol 610, Preu $ 7.90 4, Lady Gaga, Títol 118, Preu $ 7.30 5, Johnny Cash, Títol 482, Preu $ 6.50 6, Elvis Presley, títol 335, preu 7,30 $ 7, John Lennon, títol 271, preu 7,90 $ 8, Michael Jackson, títol 373, preu 5,50 $

Com que la segona columna d'aquest exemple conté noms i cognoms, la sortida ordenada està ordenada per la primera lletra del primer nom de cada individu a la segona columna: Elvis, John, Johnny, Justin, Lady, Michael, Mick i Taylor. , tal com es mostra a continuació:

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

Si ordeneu el fitxer amb -k3 (utilitzant els continguts de la línia a partir de la columna 3), la sortida és:

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

i

$ sort-k4 test.txt

produeix una llista ordenada per preu:

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

Inverteix una ordenació

L'opció -r inverteix la classificació. Per exemple, utilitzant els resultats anteriors:

$ sort-k4 -r test.txt

rendiments:

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

S'està desant un fitxer ordenat

L'ordenació d'un fitxer no el guarda. Per desar la llista ordenada en un fitxer, utilitzeu l'operador de redirecció:

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

on "test_new.txt" és el nou fitxer.

Classificació d'una sortida de corrent

També podeu aplicar l'ordre d'ordenació a la sortida d'un flux, com ara l'operador de canonades:

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

Això ordena la sortida de la llista de fitxers generada per la comanda ls per la mida del fitxer, començant per fitxers més grans. L'operador -n especifica la classificació numèrica en lloc d'alfabètic.