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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow