sort

Liest Eingaben, sortiert Daten und gibt die Ergebnisse auf dem Bildschirm, in eine Datei oder auf ein anderes Gerät aus.

Syntax

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

Parameter

Parameter BESCHREIBUNG
/r Kehrt die Sortierreihenfolge um (sortiert also von Z bis A und von 9 bis 0).
/+<N> Gibt die Nummer der Zeichenposition an, an der sort jeden Vergleich beginnt. N kann eine beliebige Ganzzahl sein.
/m <kilobytes> Gibt den Hauptspeicher in Kilobyte (KB) an, der für die Sortierung verwendet werden soll.
/l <Gebietsschema> Überschreibt die Sortierreihenfolge der Zeichen, die durch das standardmäßige Gebietsschema des Systems definiert werden (d. h. die Sprache und das Land, die bei der Installation ausgewählt werden).
/rec <characters> Gibt die Höchstzahl an Zeichen in einem Datensatz oder einer Zeile der Eingabedatei an (Standardwert ist 4.096, Höchstwert ist 65.535).
[<drive1>:][<path1>]<filename1> Gibt die Datei an, die sortiert werden soll. Wenn kein Dateiname angegeben wird, wird die Standardeingabe sortiert. Es geht schneller, die Eingabedatei anzugeben, als dieselbe Datei als Standardeingabe umzuleiten.
/t [<drive2>:][<path2>] Gibt den Pfad des Verzeichnisses an, in dem der sort-Befehl temporäre Dateien zwischenspeichert, wenn die Daten nicht in den Hauptspeicher passen. Standardmäßig wird das temporäre Verzeichnis des Systems verwendet.
/o [<drive3>:][<path3>]<filename3> Gibt die Datei an, in der die sortierte Eingabe gespeichert werden soll. Wenn keine Datei angegeben ist, werden die Daten in die Standardausgabe geschrieben. Es geht schneller, die Ausgabedatei anzugeben, als die Standardausgabe in diese Datei umzuleiten.
/unique Gibt nur eindeutige Ergebnisse zurück.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Bemerkungen

  • Standardmäßig beginnen Vergleiche am ersten Zeichen jeder Zeile. Die Befehlszeilenoption /+ startet Vergleiche bei dem Zeichen, das durch N angegeben ist. Beispielsweise gibt /+3 an, dass jeder Vergleich beim dritten Zeichen jeder Zeile beginnen soll. Zeilen mit weniger als N Zeichen werden vor anderen Zeilen sortiert.

  • Der verwendete Arbeitsspeicher umfasst immer mindestens 160 KB. Wenn die Arbeitsspeichergröße angegeben ist, wird genau diese Größe für die Sortierung verwendet (muss mindestens 160 KB betragen), unabhängig davon, wie viel Hauptspeicher verfügbar ist.

  • Wenn keine Größe angegeben wird, beträgt die standardmäßige maximale Arbeitsspeichergröße 90 % des verfügbaren Hauptspeichers, wenn die Eingabe und die Ausgabe jeweils Dateien sind, andernfalls beträgt sie 45 % des Hauptspeichers. Die Standardeinstellung ergibt in der Regel die beste Leistung.

  • Derzeit ist die einzige Alternative zum Standardgebietsschema das Gebietsschema C, das schneller als die Sortierung natürlicher Sprachen ist (es sortiert Zeichen nach ihren binären Codierungen).

  • Mit dem senkrechten Strich (|) können Sie die Eingabedaten von einem anderen Befehl an den sort-Befehl übergeben oder die sortierte Ausgabe an einen anderen Befehl übergeben. Die Ein- und Ausgabedateien können Sie mit den Umleitungssymbolen (< oder >) festlegen. Insbesondere bei großen Dateien kann es schneller und effizienter sein, die Eingabedatei direkt anzugeben (wie durch Dateiname1 in der Befehlssyntax definiert) und dann die Ausgabedatei mit dem Parameter /o anzugeben.

  • Der sort-Befehl unterscheidet nicht zwischen Groß- und Kleinschreibung und unterstützt unbegrenzt jede Dateigröße.

  • Der Sortierbefehl nutzt die Sortiersequenztabelle, die dem Länder-/Regionscode und den Codepage-Einstellungen entspricht. Zeichen größer als ASCII-Code 127 werden basierend auf den Daten in der Datei Country.sys oder in einer alternativen Datei sortiert, die Sie mit dem Befehl country in der Datei Config.nt festlegen.

  • Wenn die Sortierung in die maximale Arbeitsspeichergröße passt (wie standardmäßig oder mit dem Parameter /m festgelegt), wird die Sortierung in einer einzigen Weitergabe durchgeführt. Andernfalls wird die Sortierung in zwei separaten Weitergaben (Sortierung und Zusammenführung) durchgeführt, und für beide wird jeweils dieselbe Speichergröße verwendet. Wenn zwei Weitergaben durchgeführt werden, werden die teilweise sortierten Daten in einer temporären Datei auf dem Datenträger gespeichert. Wenn der Arbeitsspeicher nicht ausreicht, um die Sortierung in zwei Weitergaben durchzuführen, wird ein Laufzeitfehler ausgegeben. Wenn mit der Befehlszeilenoption /m mehr Arbeitsspeicher angegeben wird, als tatsächlich vorhanden ist, kann es zu einer Leistungsbeeinträchtigung oder einem Laufzeitfehler kommen.

Beispiele

  • Um die Zeilen in der Datei namens expenses.txt in umgekehrter Reihenfolge zu sortieren und anzuzeigen, geben Sie Folgendes ein:

    sort /r expenses.txt
    
  • Um in einer großen Datei namens maillist.txt nach dem Text Jones zu suchen und die Ergebnisse dieser Suche zu sortieren, leiten Sie mit dem senkrechten Strich (|) die Ausgabe des Befehls find an den Befehl sort weiter:

    find Jones maillist.txt | sort
    

    Dieser Befehl gibt eine sortierte Liste der Zeilen zurück, die den angegebenen Text enthalten.

  • Um die Tastatureingabe zu sortieren und die Ergebnisse in alphabetischer Reihenfolge auf dem Bildschirm anzuzeigen, geben Sie zunächst den Befehl sort ohne Parameter ein:

    sort
    

    Geben Sie anschließend den Text ein, der sortiert werden soll, und drücken Sie am Ende jeder Zeile die Eingabetaste. Wenn Sie den kompletten Text eingegeben haben, drücken Sie Strg+Z und dann die Eingabetaste. Der sort-Befehl zeigt daraufhin den eingegebenen Text in alphabetischer Reihenfolge an.