Sök…
Introduktion
sort är ett Unix-kommando för att beställa data i fil (er) i en sekvens.
Syntax
- sortera [alternativ] filnamn
parametrar
Alternativ | Menande |
---|---|
-u | Gör varje produktionsrad unik |
Anmärkningar
Fullständig användarmanual för sort
online
Sortera kommandoutput
sort
används för att sortera en lista med rader.
Inmatning från en fil
sort file.txt
Inmatning från ett kommando
Du kan sortera valfritt utgångskommando. I exemplet en lista över filer som följer ett mönster.
find * -name pattern | sort
Gör produktionen unik
Om varje rad i utgången behöver vara unik, lägg till -u
alternativet.
För att visa ägaren av filer i mappen
ls -l | awk '{print $3}' | sort -u
Numerisk sortering
Anta att vi har den här filen:
test>>cat file
10.Gryffindor
4.Hogwarts
2.Harry
3.Dumbledore
1.The sorting hat
För att sortera den här filen numeriskt använder du alternativet Sortera med -n:
test>>sort -n file
Detta ska sortera filen enligt nedan:
1.The sorting hat
2.Harry
3.Dumbledore
4.Hogwarts
10.Gryffindor
Omvänd sorteringsordning: Använd alternativet -r för att vända sorteringsordningen
För att vända sorteringsordningen för ovanstående filanvändning:
sort -rn file
Detta ska sortera filen enligt nedan:
10.Gryffindor
4.Hogwarts
3.Dumbledore
2.Harry
1.The sorting hat
Sortera efter nycklar
Anta att vi har den här filen:
test>>cat Hogwarts
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Hermione Goyle Lockhart Tonks
Ron Snape Olivander Newt
Ron Goyle Flitwick Sprout
För att sortera den här filen med en kolumn som nyckel använder du alternativet k:
test>>sort -k 2 Hogwarts
Detta kommer att sortera filen med kolumn 2 som nyckel:
Ron Goyle Flitwick Sprout
Hermione Goyle Lockhart Tonks
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
Om vi nu måste sortera filen med en sekundär nyckel tillsammans med den primära nyckelanvändningen:
sort -k 2,2 -k 1,1 Hogwarts
Detta sorterar först filen med kolumn 2 som primärnyckel och sorterar sedan filen med kolumn 1 som sekundärnyckel:
Hermione Goyle Lockhart Tonks
Ron Goyle Flitwick Sprout
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
Om vi måste sortera en fil med mer än en nyckel måste vi för varje -k-alternativ ange var sorteringen slutar. Så -k1,1 betyder att starta sorteringen vid första kolumnen och avsluta sortering vid första kolumnen.
-t alternativ
I det föregående exemplet hade filen standardavgränsningsfliken. Vid sortering av en fil som inte har standardgränssnitt behöver vi alternativet -t för att ange avgränssnittet. Anta att vi har filen som nedan:
test>>cat file
5.|Gryffindor
4.|Hogwarts
2.|Harry
3.|Dumbledore
1.|The sorting hat
För att sortera den här filen enligt den andra kolumnen använder du:
test>>sort -t "|" -k 2 file
Detta kommer att sortera filen enligt nedan:
3.|Dumbledore
5.|Gryffindor
2.|Harry
4.|Hogwarts
1.|The sorting hat