Bash
Sort gebruiken
Zoeken…
Invoering
sort is een Unix-opdracht om gegevens in een of meer bestanden in een reeks te bestellen.
Syntaxis
- sorteer [optie] bestandsnaam
parameters
Optie | Betekenis |
---|---|
-u | Maak elke uitvoerregel uniek |
Opmerkingen
Volledige gebruikershandleiding voor sort
online lezen
Sorteer opdrachtuitvoer
sort
wordt gebruikt om een lijst met regels te sorteren.
Invoer vanuit een bestand
sort file.txt
Invoer van een opdracht
U kunt elk uitvoercommando sorteren. In het voorbeeld een lijst met bestanden volgens een patroon.
find * -name pattern | sort
Maak output uniek
Als elke regel van de uitvoer uniek moet zijn, voegt u de optie -u
.
Om de eigenaar van bestanden in de map weer te geven
ls -l | awk '{print $3}' | sort -u
Numerieke soort
Stel dat we dit bestand hebben:
test>>cat file
10.Gryffindor
4.Hogwarts
2.Harry
3.Dumbledore
1.The sorting hat
Gebruik de optie sorteren met -n om dit bestand numeriek te sorteren:
test>>sort -n file
Dit zou het bestand als volgt moeten sorteren:
1.The sorting hat
2.Harry
3.Dumbledore
4.Hogwarts
10.Gryffindor
Sorteervolgorde omkeren: Gebruik de optie -r om de sorteervolgorde om te keren
Gebruik de volgende volgorde om de sorteervolgorde van het bovenstaande bestand om te keren:
sort -rn file
Dit zou het bestand als volgt moeten sorteren:
10.Gryffindor
4.Hogwarts
3.Dumbledore
2.Harry
1.The sorting hat
Sorteren op toetsen
Stel dat we dit bestand hebben:
test>>cat Hogwarts
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Hermione Goyle Lockhart Tonks
Ron Snape Olivander Newt
Ron Goyle Flitwick Sprout
Om dit bestand met een kolom als sleutel te sorteren, gebruikt u de optie k:
test>>sort -k 2 Hogwarts
Dit sorteert het bestand met kolom 2 als sleutel:
Ron Goyle Flitwick Sprout
Hermione Goyle Lockhart Tonks
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
Als we het bestand nu moeten sorteren met een secundaire sleutel en het gebruik van de primaire sleutel:
sort -k 2,2 -k 1,1 Hogwarts
Dit sorteert eerst het bestand met kolom 2 als primaire sleutel en sorteert vervolgens het bestand met kolom 1 als secundaire sleutel:
Hermione Goyle Lockhart Tonks
Ron Goyle Flitwick Sprout
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
Als we een bestand met meer dan 1 sleutel moeten sorteren, moeten we voor elke optie -k opgeven waar het sorteren eindigt. Dus -k1,1 betekent beginnen met sorteren in de eerste kolom en eindigen met sorteren in eerste kolom.
-t optie
In het vorige voorbeeld had het bestand het standaard delimeter - tabblad. In het geval van het sorteren van een bestand met een niet-standaard delimeter, hebben we de optie -t nodig om de delimeter op te geven. Stel dat we het bestand hebben zoals hieronder:
test>>cat file
5.|Gryffindor
4.|Hogwarts
2.|Harry
3.|Dumbledore
1.|The sorting hat
Om dit bestand volgens de tweede kolom te sorteren, gebruikt u:
test>>sort -t "|" -k 2 file
Dit sorteert het bestand zoals hieronder:
3.|Dumbledore
5.|Gryffindor
2.|Harry
4.|Hogwarts
1.|The sorting hat