The UNIX Sortera kommando används för att sortera ASCII textfiler . Den kan användas för att sortera filer av valfri storlek . Kommandot kan även användas för att sortera mer än en fil och placera ut i en enda fil . Data kan sorteras alfabetiskt eller numeriskt på något fält i filen . Användning
sorts kommando har syntax " sort [ flaggor ] filnamn ( s) . " Utan några alternativ , använder kommandot Sortera hela raden som standard sorteringsnyckeln , sorterar filen i alfabetisk ordning och i stigande ordning , och skriver ut resultatet på skärmen . Raderna i filen behöver inte vara av samma storlek . Fält i filen är åtskilda av ett utrymme som standard . Du kan använda kommandot alternativen för att ändra standardinställningen för kommandot Sortera
. Om du vill skicka utdata till en fil istället för skärmen , använder du " - o " alternativet . Syntaxen skulle vara " sort - . O utgång input "
p Om du har en fil som innehåller numeriska data , måste du använda " - n" alternativ för att tala kommandot att sortera numeriskt . Syntaxen skulle vara " sort -n filnamn . " Naturligtvis kan du lägga till " - o " för att mata ut resultatet till en utfil . Syntaxen då skulle vara " sort -n - o utgång ingång . "
P Om du hellre vill sortera filen i fallande ordning ( ZA ) istället för stigande ordning ( AZ ) , skulle du använda " - r " alternativ. Den " r " står för bakåt i detta fall . Syntaxen skulle vara " sort - r filnamn . "
Sortera förutsätter att de områden som är separerade med blanksteg , vilket innebär att varje ord på en rad räknas som ett fält . Däremot kan du ha en kommaseparerade värden ( CSV) , eller fälten kan separeras av en annan karaktär , såsom ett kolon . Om så är fallet , använd " - t " för att beteckna fältseparator . Syntaxen för en CSV -fil skulle vara " sort - t , filnamn . "
Sortera förutsätter att du vill använda hela linjen som sorteringsnyckel . Om du bara vill sortera på ett visst område , skulle du lägga till alternativet " + m " där " m " är numret på fältet minus ett . Till exempel , om du hade en CSV -fil som innehåller fältet förnamn , efternamn och adress , och du ville att sortera på efternamn , skulle syntaxen vara " sort - t , ett filnamn . " Den " +1 " , säger att sortera på det andra fältet . Anledningen till den märkliga numreringen beror på det faktum att Unix-kommandon brukar börja räkna på " 0 ", inte " 1 . " Kommandot skulle då sortera efternamn och använder adressfältet som en sekundär sortering alternativ .
P Om du bara vill sortera på det andra fältet i exemplet ovan , skulle du behöva säga det slags kommando för att stoppa sortering på det tredje fältet. För att man skulle använda " -m " alternativet , där " m " är antalet av fältet minus ett. Att bara sortera på fältet Efternamn i exemplet ovan , skulle du använda syntaxen " sort - t , +1 -2 filnamn . "
Andra vanliga alternativ inkluderar " -u " och " - d " alternativen . Den " - u " alternativet anger kommandot för att skriva ut endast de unika värdena efter sortering . Om det är multiplar av en enda rad , kommer endast en instans av det värde som skall skrivas ut. Den " - d " alternativet säger att utföra en ordbok slags filen , vilket innebär att endast ämnen , siffror och bokstäver används i jämförelsen .
Sortera kan också användas för att slå ihop och sortera två filer till en enda utdatafil . Om mer än ett filnamn tillhandahålls som en indatafil , kommer kommandot kombinera de två filerna och sortera resultaten . När den används med " - o " alternativet , kommer resultatet att bli en enda fil som innehåller de sorterade värdena från båda filerna . Syntaxen skulle vara " sort - o utgång INGÅNG1 INGÅNG2 . " Andra alternativ för kommandot Sortera kan hittas i sorteringen huvudsidan ( se "Ytterligare resurser " nedan . ) Katalog