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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow