sort
Funktion
sort sortiert die Zeilen einer Textdatei
Syntax
sort [-cmus] [-t Separator]
[-o Ausgabedatei] [-bdfiMnr] [+POS1 [-POS2]]
[-k POS1[,POS2]] [Datei...]
Beschreibung
sort wird normalerweise zum Sortieren von Dateien
verwendet. Es kann aber auch Dateien daraufhin überprüfen, ob
sie sortiert sind, oder mehrere sortierte (oder unsortierte) Dateien zu
einer sortierten zusammenfügen.
Dazu existieren drei Modi:
- der check Modus, der prüft, ob eine Datei bereits
sortiert ist. Dieser Modus wird durch die Option -c
eingeleitet
- der merge Modus, der mehrere vorsortierte Dateien zusammenfügt.
Die Dateien so zusammenzufügen ist schneller, als sie komplett
sortieren zu lassen. Dieser Modus wird durch die Option -m
eingeleitet
- Der Standardmodus ist sort
Wenn Schlüsselfelder bezeichnet sind, vergleicht sort die
Schlüsselfelder in der Reihenfolge ihrer Bezeichnung, bis ein
Unterschied gefunden wurde oder keine weiteren Felder vorhanden sind.
Wenn eine der globalen Optionen Mbdfinr benutzt wird, und kein
Schlüsselfeld angegeben ist, vergleicht sort die ganzen
Zeilen.
Optionen
- -b
- ignoriert führende Leerzeichen
- -c
- stellt fest, ob die Datei(en) bereits sortiert ist/sind; wenn eine
Datei nicht sortiert ist, wird eine Fehlermeldung ausgegeben und mit dem
Status 1 abgebrochen
- -d
- sortiert in alphabetischer Reihenfolge
- -f
- unterscheidet nicht zwischen Groß- und Kleinschreibung
- -i
- ignoriert alle nicht druckbaren Zeichen (außerhalb 040-126
ASCII)
- -M
- sortiert die (amerikanischen) Monate jan feb mar ... dec in der
korrekten Reihenfolge; führende Leerzeichen werden wie bei -b
ignoriert
- -m
- fügt bereits sortierte Dateien zeilenweise zusammen
- -n
- sortiert Zeilen mit Zahlen; ignoriert führende Leerzeichen und
behandelt `-' als Vorzeichen
- -r
- sortiert in umgekehrter Reihenfolge
- -o Datei
- schreibt in die Datei anstelle der Standardausgabe; wenn
eine der Eingabedateien als Ausgabedatei bestimmt wird, legt sort
erst eine Kopie der Eingabedatei an und sortiert dann in die
Ausgabedatei
- -t Separator
- benutzt Separator als Feldtrenner für die Suchschlüssel;
Standard ist der Leerstring zwischen einem Nichtblank und einem Blank;
Der Trenner ist nicht Teil eines der getrennten Felder
- -u
- im merge Modus wird nur die erste von einer Reihe gleichwertiger
Zeilen ausgegeben; im check Modus wird geprüft, ob nicht zwei
Zeilen gleichwertig sind
- +POS1 [ -POS2]
- bestimmt die Zeichen zwischen POS1 und POS2 zum
Sortierschlüssel; wenn POS2 fehlt, werden alle Zeichen bis
zum Zeilenende zum Schlüssel; Positionen der Felder und Buchstaben
zählen von 0
- -k POS1 [ -POS2]
- bestimmt die Zeichen zwischen POS1 und POS2 zum
Sortierschlüssel; wird das Schlüsselfeld so spezifiziert, zählen
die Felder und Buchstaben von 1
Eine Position hat die Form feld.buchstabe