Regler og eksempler på Linux Sort Command
Data i en Linux tekstfil kan sorteres med sorteringskommandoen så lenge hvert element er avgrenset på en eller annen måte. Ofte brukes kommaet som skilletegn for avgrenset informasjon.

Grunnleggende regler for sortering
Sorteringskommandoen omorganiserer linjene i en tekstfil for å sortere linjene numerisk og alfabetisk. Standardreglene for sorteringskommandoen er:
- Tekst som starter med et tall vises før tekst som begynner med en bokstav; lavere tall sorteres først.
- Tekst som starter med en bokstav som vises i alfabetet tidligere enn den første bokstaven i andre tekstoppføringer, sorteres før teksten som starter med en bokstav som vises senere i alfabetet.
- Når tekst begynner med store og små forekomster av samme bokstav, blir forekomsten med små bokstaver sortert først.
Sorter en tekstfil
For å sortere linjene i en avgrenset Linux-fil, bruk sorteringen kommando som dette:
sorter -k2 tabell1.txt
Denne kommandoen sorterer filen tabell1.txt i henhold til tegnene som starter i den andre kolonnen (
1, Justin, Timberlake, tittel 545, pris $7,30
2, Taylor, Swift, Tittel 723, Pris $7,90
3, Mick, Jagger, Tittel 610, Pris $7,90
4, Lady, Gaga, Tittel 118, Pris $7,30
5, Johnny, Cash, Tittel 482, Pris $6,50
6, Elvis, Presley, Tittel 335, Pris $7,30
7, John, Lennon, tittel 271, pris $7,90
8, Michael, Jackson, Tittel 373, Pris $5,50
Fordi den andre kolonnen i dette eksemplet inneholder fornavn, er den sorterte utgangen ordnet etter den første bokstaven i fornavnet til hver enkelt person i den andre kolonnen, som vist nedenfor:
6, Elvis, Presley, Tittel 335, Pris $7,30
7, John, Lennon, tittel 271, pris $7,90
5, Johnny, Cash, Tittel 482, Pris $6,50
1, Justin, Timberlake, tittel 545, pris $7,30
4, Lady, Gaga, Tittel 118, Pris $7,30
8, Michael, Jackson, Tittel 373, Pris $5,50
3, Mick, Jagger, Tittel 610, Pris $7,90
2, Taylor, Swift, Tittel 723, Pris $7,90
Hvis du sorterer filen med -k3 (ved å bruke linjeinnholdet som starter ved kolonnen 3, kolonnen Etternavn), utdataene er:
5, Johnny, Cash, Tittel 482, Pris $6,50
4, Lady, Gaga, Tittel 118, Pris $7,30
8, Michael, Jackson, Tittel 373, Pris $5,50
3, Mick, Jagger, Tittel 610, Pris $7,90
7, John, Lennon, tittel 271, pris $7,90
6, Elvis, Presley, Tittel 335, Pris $7,30
2, Taylor, Swift, Tittel 723, Pris $7,90
1, Justin, Timberlake, tittel 545, pris $7,30
og -k5 lager en liste sortert etter pris:
4, Lady, Gaga, Tittel 118, Pris $7,30
7, John, Lennon, tittel 271, pris $7,90
6, Elvis, Presley, Tittel 335, Pris $7,30
8, Michael, Jackson, Tittel 373, Pris $5,50
5, Johnny, Cash, Tittel 482, Pris $6,50
1, Justin, Timberlake, tittel 545, pris $7,30
3, Mick, Jagger, Tittel 610, Pris $7,90
2, Taylor, Swift, Tittel 723, Pris $7,90
Vent, det fungerte ikke, gjorde det? I stedet for å sortere etter pris, sorterte kommandoen listen etter tittelnummeret. Hvorfor? Vel, med mindre den har gitt skilletegnet som den skal dele hver linje i kolonner med, bruker den mellomrom. Siden det er et mellomrom i midten av hver titteloppføring, blir kolonne fire i hver oppføring ordet "Tittel", og kolonne fem blir tittelnummeret.
Bruk -t-flagget for å spesifisere skilletegnet for sortering. Dette kontrollerer nøyaktig hvor kommandoen skiller ut kolonner.
sorter -t, -k5 tabell1.txt
Dette gir ønsket resultat:
8, Michael, Jackson, Tittel 373, Pris $5,50
5, Johnny, Cash, Tittel 482, Pris $6,50
1, Justin, Timberlake, tittel 545, pris $7,30
4, Lady, Gaga, Tittel 118, Pris $7,30
6, Elvis, Presley, Tittel 335, Pris $7,30
2, Taylor, Swift, Tittel 723, Pris $7,90
3, Mick, Jagger, Tittel 610, Pris $7,90
7, John, Lennon, tittel 271, pris $7,90
Vanligvis vil du spesifisere skilletegnet. Det forhindrer uønsket forvirring og unøyaktige resultater. Dette gjelder spesielt med større filer som kanskje ikke alltid er åpenbart feil.
Omvendt sortering
De -r alternativet reverserer sorteringen. Bruk for eksempel resultatene ovenfor:
sorter -r -t, -k5 tabell1.txt
gir:
7, John, Lennon, tittel 271, pris $7,90
3, Mick, Jagger, Tittel 610, Pris $7,90
2, Taylor, Swift, Tittel 723, Pris $7,90
6, Elvis, Presley, Tittel 335, Pris $7,30
4, Lady, Gaga, Tittel 118, Pris $7,30
1, Justin, Timberlake, tittel 545, pris $7,30
5, Johnny, Cash, Tittel 482, Pris $6,50
8, Michael, Jackson, Tittel 373, Pris $5,50
Lagre en sortert fil
Sortering av en fil lagrer den ikke. For å lagre den sorterte listen i en fil, bruk omdirigeringsoperatøren:
sort -k6 table1.txt > test_new.txt
hvor test_new.txt er den nye filen.
Sorter en strømutgang
Du kan også bruke sorteringskommandoen på utdata fra en strøm, for eksempel røroperatøren:
ls -n | sortere -t, -k5
Dette sorterer utdataene fra filoppføringen generert av ls kommando etter filstørrelse, og starter med de største filene. De -n operatoren spesifiserer numerisk sortering i stedet for alfabetisk.