Weiter Zurück Hinauf contents index
Weiter: SSPLIT   Zurück: SKEY   Hinauf: Die Befehle im einzelnen



SORT   [(line1 line2)] [[A|D] [I] [N] where, [A|D] [I] [N] where, ...]
SORT
Mit dem Befehl SORT kannst du Sätze sortieren. Das Befehlswort ist nicht abkürzbar, damit du den Befehl, der im allgemeinen ja nicht rückgängig gemacht werden kann, nicht so leicht aus Versehen geben kannst.

Fehlt die Angabe (line1 line2), so wird der ganze workfile sortiert. Mit (line1 line2) kannst du das Sortieren auf einen Teil der Sätze beschränken. Die Nummern können Satznummern sein, die auch ohne führende Nullen geschrieben werden können, oder sie können symbolische Nummern sein, wie sie zum Beispiel bei dem Befehl COPY beschrieben sind. Die erste Nummer darf nicht größer sein als die zweite.

Beispiele

sort (500 b) ... sortiert die Zeilen von der Nummer 500 bis zum Ende,
sort (f n) ... sortiert die Zeilen von der ersten bis zur Zeile nach der aktuellen.
Als nächstes kannst du Sortierrichtung, Sortierart und Sortierfelder angeben. Lässt du alle weiteren Angaben weg, so wird aufsteigend sortiert, Groß-/Kleinschreibung wird beachtet, es wird (auch bei Zahlen) nach Zeichen sortiert und die Sätze werden in ihrer ganzen Länge zum Vergleich herangezogen.

Die Sortierrichtung wird durch A (= ascending) für aufsteigend und D (= descending) für absteigend angegeben. Sie kann für jedes Sortierfeld einzeln festgelegt werden. Lässt du sie weg, so nimmt exaEdit A (aufsteigend) an.

Soll Groß-/Kleinschreibung nicht beachtet werden, so musst du die Angabe I (case insensitive) verwenden. Auch sie muss bei Bedarf für jedes Sortierfeld einzeln angegeben werden.

Enthalten die zu sortierenden Felder Zahlen, nach deren Wert zu sortieren ist, so musst du die Angabe N (numerisch) verwenden. Auch sie muss bei Bedarf für jedes Sortierfeld einzeln angegeben werden. Beim numerischen Sortieren gibt es noch folgenden Besonderheit: Der Satz oder das angegebene Feld wird vor dem Vergleich als Zahl interpretiert. Die Umwandlung wird mit der Funktion atof der Programmiersprache C vorgenommen. Dies bedeutet, dass die Interpretation (auch vor dem Satz- oder Feldende) vor dem ersten Zeichen endet, das nicht als zur Zahl gehörig erkannt wird. Es bedeutet außerdem den Wert 0, wenn keine Zahl vorliegt, einen unbestimmten Wert, wenn es zum Überlauf kommt (die Zahl also zu groß wäre), die Akzeptanz von führenden Zwischenraumzeichen (das sind Leerzeichen, Tabulatorzeichen, Zeilensprung, Seitenvorschub und Zeilenendekennung) und die Möglichkeit, die Zahlen mit und ohne Dezimalpunkt und mit und ohne Exponent zu schreiben.

Für die Angabe der Sortierfelder (das where in der SORT-Syntax) gibt es 2 Möglichkeiten:

oder die du beide natürlich auch gemischt verwenden kannst. Vor jeder Sortierfeldangabe können die oben beschriebenen Parameter A, D, I oder N stehen. Sollen sie für mehrere Sortierfelder gelten, so kannst du sie einmal vor die in Klammern gesetzten Sortierfelder setzen.

Schließlich kannst du noch zwischen die Sortierfeldangaben zur besseren Lesbarkeit eines der Zeichen Komma, Strichpunkt oder Schrägstrich setzen (wenn es sich nicht um den Befehlsseperator handelt).

Einige Beispiele:

Im letzten Beispiel sind 4 Sortierfelder angegegen, die alle 5 Zeichen lang sind. Die ersten beiden Felder werden numerisch, die letzten beiden alphanumerisch sortiert. Das dritte Feld wird absteigend sortiert, die anderen aufsteigend.

Hat exaEdit erfolgreich sortiert, so erfolgt die Meldung

Wurde dagegen ein Fehler festgestellt, so erscheint eine der im folgenden aufgeführten Meldungen: Dies bedeutet, dass in der Klammer mit den Zeilennummern die erste Angabe eine numerische oder symbolische Zeilennummer ist, die größer ist als die Zeilennummer, die sich aus der zweiten Angabe ergibt. Du hast eine nicht vorhandene Zeilennummer angegeben. Du hast die symbolische Zeilennummer p verwendet, obwohl es vor dem Satz der aktuellen Zeile keine Sätze mehr gibt. Du hast die symbolische Zeilennummer n verwendet, obwohl es nach dem Satz der aktuellen Zeile keine Sätze mehr gibt. Die top line gehört mit zu den Sätzen, die du sortiert haben möchtest, sie kann aber nicht mitsortiert werden. Du hast ein Sortierfeld mit der genannten Eigenschaft angegeben. Es gibt mindestens 1 Spalte, die in 2 Sortierfeldangaben vorkommt.


Weiter Zurück Hinauf contents index
Weiter: SSPLIT   Zurück: SKEY   Hinauf: Die Befehle im einzelnen