Dela via


sortera

Läser indata, sorterar data och skriver resultatet till skärmen, till en fil eller till en annan enhet.

Syntax

sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]

Parameterar

Parameter Beskrivning
/r Ändrar sorteringsordningen (det vill säga sorterar från Z till A och från 9 till 0).
/+<N> Anger det teckenpositionsnummer där sortera börjar varje jämförelse. N kan vara valfritt giltigt heltal.
/m <kilobytes> Anger mängden huvudminne som ska användas för sorteringen i kilobyte (KB).
/l <nationella inställningar> Åsidosätter sorteringsordningen för tecken som definieras av systemets standardspråk (dvs. det språk och land/region som valdes under installationen).
/Rec <characters> Anger det maximala antalet tecken i en post eller en rad i indatafilen (standardvärdet är 4 096 och maxvärdet är 65 535).
[<drive1>:][<path1>]<filename1> Anger vilken fil som ska sorteras. Om inget filnamn anges sorteras standardindata. Det går snabbare att ange indatafilen än att omdirigera samma fil som standardindata.
/t [<drive2>:][<path2>] Anger sökvägen till katalogen som ska innehålla sortera kommandots arbetslagring om data inte får plats i huvudminnet. Som standard används den temporära systemkatalogen.
/o [<drive3>:][<path3>]<filename3> Anger den fil där de sorterade indata ska lagras. Om det inte anges skrivs data till standardutdata. Det går snabbare att ange utdatafilen än att omdirigera standardutdata till samma fil.
/unik Returnerar endast unika resultat.
/? Visar hjälp i kommandotolken.

Anmärkningar

  • Som standard börjar jämförelserna med det första tecknet på varje rad. Kommandoradsalternativet /+ startar jämförelser med det tecken som anges av N. Till exempel anger /+3 att varje jämförelse ska börja med det tredje tecknet på varje rad. Rader med färre än N tecken sorterade före andra rader.

  • Det minne som används är alltid minst 160 KB. Om minnesstorleken anges används den exakta angivna mängden för sorteringen (måste vara minst 160 KB), oavsett hur mycket huvudminne som är tillgängligt.

  • Standardstorleken för maximalt minne när ingen storlek har angetts är 90% av det tillgängliga huvudminnet, om både indata och utdata är filer eller 45% av huvudminnet annars. Standardinställningen ger vanligtvis bästa prestanda.

  • För närvarande är det enda alternativet till standardspråket C-språk, vilket är snabbare än sortering av naturligt språk (det sorterar tecken enligt deras binära kodningar).

  • Du kan använda pipe-symbolen (|) för att dirigera indata till sortera kommando från ett annat kommando eller för att dirigera sorterade utdata till ett annat kommando. Du kan ange in- och utdatafiler med hjälp av omdirigeringssymboler (< eller >). Det kan vara snabbare och effektivare (särskilt med stora filer) att ange indatafilen direkt (enligt definitionen i filename1 i kommandosyntaxen) och sedan ange utdatafilen med parametern /o.

  • Kommandot sortera skiljer inte mellan versaler och gemener och har ingen gräns för filstorlek.

  • Sorteringsprogrammet använder sorteringssekvenstabellen som motsvarar inställningarna för Land/Region kod och kodsida. Tecken som är större än ASCII-kod 127 sorteras baserat på information i filen Country.sys eller i en alternativ fil som anges av kommandot land i filen Config.nt.

  • Om sorteringen passar in i den maximala minnesstorleken (som anges som standard eller enligt parametern /m) utförs sorteringen i ett enda pass. Annars utförs sorteringen i två separata sorterings- och sammanslagningspass och mängden minne som används för båda passeringarna är lika. När två pass utförs lagras delvis sorterade data i en temporär fil på disken. Om det inte finns tillräckligt med minne för att utföra sorteringen i två pass utfärdas ett körningsfel. Om kommandoradsalternativet /m används för att ange mer minne än vad som verkligen är tillgängligt kan prestandaförsämring eller ett körningsfel inträffa.

Exempel

  • Om du vill sortera och visa raderna i omvänd ordning i en fil med namnet expenses.txtskriver du:

    sort /r expenses.txt
    
  • Om du vill söka i en stor fil med namnet maillist.txt efter texten Jonesoch sortera resultatet av sökningen med hjälp av röret (|) för att dirigera utdata från ett hitta kommandot till kommandot sortera skriver du:

    find Jones maillist.txt | sort
    

    Kommandot skapar en sorterad lista med rader som innehåller den angivna texten.

  • Om du vill sortera tangentbordsindata och visa resultatet alfabetiskt på skärmen kan du först använda kommandot sortera utan parametrar genom att skriva:

    sort
    

    Skriv sedan den text som du vill sortera och tryck på RETUR i slutet av varje rad. När du har skrivit text trycker du på CTRL+Z och trycker sedan på RETUR. Kommandot sortera visar texten som du skrev, sorterat alfabetiskt.