Elemente fir ze sortéieren däerfen op e puer Wee begrenzt sinn
Daten an enger Textdokumenter Linux kënnen mat dem Sortéierbefehl sortéiert ginn soulaang wéi all Element an irgendeen Ofschrëft begrenzt ass. Heefeg gëtt de Comma als de Separator fir eng begrenzte Informatioun benotzt.
Basisregelen fir Sortéierung
De Sort vum Kommando rangéiert d'Zeilen an enger Textdatei fir se numeresch a alphabetesch ze sortéieren. Déi Standardregelen fir de Sort vum Kommando sinn:
- Text deen et mat enger Nummer beginn, steet virum Text deen mat engem Bréif beginn; manner Zuelen zuerst d'éischt zortéieren.
- Text, deen mat engem Bréif virausgesat gëtt, deen am Alphabet steet, fréier, datt den éischte Bréif vun aner Texter Einträgere virum Text sortéiert gëtt, déi mat engem Bréif beginn, deen spéider am Alphabet erscheint.
- Wou Text mat groussem a kleng Ënnersiicht aus deemselwechte Bréif beginn, gëtt déi klengst Inhalter zuerst sortéiert.
Zortéiere vun enger Textdatei
Fir d'Zeilen an enger begrenzter Linux-Datei ze sortéieren, benotze Dir den Uerder kommandéiert :
$ sort -k2 test.txtdeen de Fichier "test.txt" entsprécht an déi Zeechen vun der zweeter Kolonn (k2 op déi zweet Kolonn) beginn. Assuming den Input- Datei Inhalt ass:
1, Justin Timberlake, Titel 545, Präis $ 7.30 2, Taylor Swift, Titel 723, Präis $ 7.90 3, Mick Jagger, Titel 610, Präis $ 7.90 4, Lady Gaga, Titel 118, Präis $ 7.30 5, Johnny Cash, Titel 482, Präis $ 6.50 6, Elvis Presley, Titel 335, Präis $ 7.30 7, John Lennon, Titel 271, Präis $ 7.90 8, Michael Jackson, Titel 373, Präis $ 5.50Well déi zweet Kolonn vun dësem Beispill enthält éischt a lescht Nimm, gëtt de sortéierten Output vum éischte Bréif vum éischte Numm vun all Mënsch an der zweeter Kolonn-Elvis, John, Johnny, Justin, Lady, Michael, Mick a Taylor , wéi et hei ënnendrënner steet:
6, Elvis Presley, Titel 335, Präis $ 6.30 7, John Lennon, Titel 271, Präis $ 7.90 5, Johnny Cash, Titel 482, Präis $ 6.50 1, Justin Timberlake, Titel 545, Präis $ 6.30 4, Lady Gaga, Titel 118, Präis $ 6.30 8, Michael Jackson, Titel 373, Präis $ 5.50 3, Mick Jagger, Titel 610, Präis $ 7.90 2, Taylor Swift, Titel 723, Präis $ 7.90Wann Dir d'Fichier mat -k3 sortéiert (benotzt mat der Zeilengrupp déi un der Spalte 3 benotzt ass - d'Spalten vun der Nummer Nummer), ass d'Ausgab:
4, Lady Gaga, Titel 118, Präis $ 6.30 7, John Lennon, Titel 271, Präis $ 7.90 6, Elvis Presley, Titel 335, Präis $ 6.30 8, Michael Jackson, Titel 373, Präis $ 5.50 5, Johnny Cash, Titel 482, Präis $ 6.50 1, Justin Timberlake, Titel 545, Präis $ 6.30 3, Mick Jagger, Titel 610, Präis $ 7.90 2, Taylor Swift, Titel 723, Präis $ 7.90an
$ sort -k4 test.txtproduzéiert eng Lëscht no Sortéierung:
8, Michael Jackson, Titel 373, Präis $ 5.50 1, Justin Timberlake, Titel 545, Präis $ 6.30 4, Lady Gaga, Titel 118, Präis $ 6.30 6, Elvis Presley, Titel 335, Präis $ 6.30 5, Johnny Cash, Titel 482, Präis $ 6.50 2, Taylor Swift, Titel 723, Präis $ 7.90 3, Mick Jagger, Titel 610, Präis $ 7.90 7, John Lennon, Titel 271, Präis $ 7.90E Versuerge vun engem Sort
D'Option -r réckert d'Sortéierung. Zum Beispill, mat de Resultater uewen:
$ sort -k4 -r test.txterginn:
7, John Lennon, Titel 271, Präis $ 7.90 3, Mick Jagger, Titel 610, Präis $ 7.90 2, Taylor Swift, Titel 723, Präis $ 7.90 5, Johnny Cash, Titel 482, Präis $ 6.50 6, Elvis Presley, Titel 335, Präis $ 6.30 4, Lady Gaga, Titel 118, Präis $ 6.30 1, Justin Timberlake, Titel 545, Präis $ 6.30 8, Michael Jackson, Titel 373, Präis $ 5.50Späichere fichéiert gespäichert
De Fichier ofhale gëtt net gespäichert. Fir déi sortéiert Lëscht an enger Datei ze späicheren, benotzt Dir de Viruleedern aus der Verännerung:
Sort-K4 -r test.txt> test_new.txtwou "test_new.txt" ass déi nei Datei.
Dir kënnt e Stream Output
Dir kënnt och de Sort Command iwwer d'Ausgab vun engem Stream, z.B. de Pipe Operator:
$ ls -al | sort -r -n -k5Dëst sortéiert d'Ausgab vu de Fichier Lëscht vun den ls Kommando duerch Dateigréisst, déi mat de gréisste Fichier'en opgefëllt gëtt. De -n Betreiber spezifizéiert numeresch Sorte statt Alphabetisch.