Befehl ’Spezielles Sortieren/Optionen’ (Datei | Sortieren)


This help topic applies to UltraEdit on Mac/Linux.

Mit diesem Befehl stellen Sie die Sortierungsoptionen ein und können entweder die aktuelle Datei oder auch alle offenen Dateien sortieren. Der Sortiervorgang vergleicht zwei Zeilen folgendermaßen: Jedes Paar von Feldern wird in der angegebenen Reihenfolge unter Berücksichtigung der entsprechenden Sortieroptionen verglichen, bis entweder ein Unterschied gefunden wird oder keine Felder mehr übrig sind. Falls keine Schlüsselfelder definiert wurden, verwendet das Programm eine ganze Zeile als Schlüssel. Schließlich, wenn alle Felder für gleich gefunden werden, vergleicht der Sortieralgorithmus ganze Zeilen ohne Berücksichtigung allfälliger Sortierungsoptionen außer Umgekehrter Reihenfolge.

 

Der Sortiervorgang stellt keine Begrenzung der Zeilenlänge oder der Anzahl Bytes, die in einer Zeile enthalten sind. Falls der letzte Byte einer Zeile kein Zeilenendezeichen ist, wird die Zeile automatisch um eine Zeilenendung ergänzt. Die letzte Zeilenendung wird in den Vergleich nicht mit einbezogen.

 

Bei Auswahl des Befehls »Erweiterte Sortierungsoptionen« öffnet sich ein Dialog mit diesen Optionen:

 

Sortieren

Im Kombinationsfeld kann zwischen aktuelles Dokument oder alle offenen Dokumente gewählt werden.

 

Ausgabe in neue Datei schreiben

Bei Auswahl dieser Option werden die Ergebnisse des Sortiervorgangs in eine neue Datei geschrieben. Die ursprüngliche Datei wird durch das Sortieren nicht verändert.

 

Sortierungsergebnisse zusammenführen

Diese Option ist nur auswählbar, falls auch alle offenen Dokumente beim Kombinationsfeld Sortieren ausgewählt wurde. Bei ausgewählter Option werden alle offenen Dokumente sortiert und in eine einzige Ergebnisdatei zusammengeführt.

 

Sortierreihenfolge

Diese Kombinationsliste ermöglicht die Festlegung der Sortiermethode für die ausgewählten Datei(en). Die nachfolgenden Optionen beeinflussen die Reihenfolge der Ausgabezeilen. Sie können entweder global oder als Teil eines bestimmten Schlüsselfeldes gesetzt werden. Ohne Angabe eines oder mehrerer Schlüsselfelder wirken sich globale Optionen auf den Vergleich von ganzen Zeilen aus; andernfalls werden die globalen Optionen an die Schlüsselfelder vererbt, die keine eigenen Optionen aufweisen. Die folgenden Sortiermethoden werden unterstützt:

Wörterbuch

Es wird wie im Telefonbuch sortiert: Alle Zeichen außer Buchstaben, Ziffern und Weißraum werden ignoriert. Die Vorgabe für Buchstaben und Ziffern ist der ASCII-Zeichensatz, und Weißraum besteht aus Leerstellen oder Tabulatoren; allerdings kann die in der Kombinationsliste ausgewählte Locale etwas anderes bewirken.

Numerisch

Die Sortierreihenfolge erfolgt numerisch. Zeilen beginnen mit einer Zahl und enthalten fakultativ Weißraum, einen Bindestrich (»-«) und keine oder beliebige Ziffern, die durch Tausender-Trennzeichen getrennt werden können, sowie einen fakultativen Dezimalpunkt und ggf. weitere oder auch keine Ziffern. Leere Zahlen werden wie Nullen sortiert. Die Zeichen für das Tausender-Trennzeichen und für den Dezimalpunkt werden gemäß der Locale, die in der Kombinationsliste ausgewählt wurde, bestimmt. Weißraum besteht standardmäßig aus Leerstellen oder Tabulatoren, aber die in der Kombinationsliste ausgewählte Locale kann auch etwas anderes bewirken.
Monat Eine Zeichenkette am Anfang einer Zeile, die aus beliebigem Weißraum gefolgt von einer Monatsabkürzung bestehen kann, wird nach Großbuchstaben konvertiert und in der Reihenfolge »JAN < FEB < ... < DEZ« verglichen. Ungültige Monatsbezeichnungen vergleichen kleiner als gültige Bezeichner. Die Schreibweise der Monatsabkürzungen wird durch die in der Kombinationsliste ausgewählte Locale bestimmt. Weißraum besteht standardmäßig aus Leerstellen oder Tabulatoren, aber die in der Kombinationsliste ausgewählte Locale kann auch etwas anderes bewirken.

Version

Die Reihenfolge richtet sich nach Versionsnamen und -nummer. Die Sortierung ist wie ein gewöhnliches Sortieren mit dem Unterschied, dass jede Folge von Dezimalziffern wie ein Index bzw. eine Versionsnummer behandelt wird. Einzelheiten zur Versionssortierung werden weiter unten erläutert.

Zufall

Die Eingabeschlüssel werden einer Hash-Funktion übergeben und deren Rückgabewerte anschließend sortiert. Beliebige Hash-Funktionen können eingesetzt werden. Kollisionen dürfen aber nicht entstehen — d.h. unterschiedliche Schlüssel müssen unterschiedliche Resultate ergeben. Die Sortierung ist wie eine zufällige Permutation der Eingabewerte mit der Ausnahme, dass gleichwertige Schlüssel zusammen sortiert werden. Bei Angabe von mehreren Sortierfeldern wird die gleiche Hash-Funktion für alle Felder zum zufälligen Sortieren verwendet. Um unterschiedliche Hash-Funktionen für verschiedene Felder einzusetzen, kann mehrmals nacheinander sortiert werden.

Vorgabe

Es wird wie in einem Lexikon sortiert: jedes Zeichen in der aktuellen Zeile (oder im aktuellen Schlüssel) wird nach dem Alphabet sortiert.

 

Einzelheiten zur Versionssortiermethode

Die Versionssortiermethode richtet sich nach der Tatsache, dass Dateinamen häufig eine Index- oder Versionsnummer beinhalten. Die normale Sortiermethode ergibt daher oft nicht die gewünschte Reihenfolge, weil Vergleiche nur zeichenweise erfolgen. Versionssortierung ist bei der Durchsuchung von Verzeichnissen mit vielen Dateien, die im Dateinamen eine Versionsnummer enthalten, besonders nützlich:

 

     $ ls -1            $ ls -1v

     abc.zml-1.gz       abc.zml-1.gz

     abc.zml-12.gz      abc.zml-2.gz

     abc.zml-2.gz       abc.zml-12.gz

 

Versionssortierung geht nach folgendem Schema vor: Angenommen, dass ver1 und ver2 zwei Versionsnummern und prefix und suffix zwei Zeichenketten sind (wobei suffix den regulären Ausdruck »(.[A-Za-z~][A-Za-z0-9~]*)*« erfüllt) &mdash dann heißt »ver1 < ver2«, dass Bezeichner »prefix ver1 suffix« vor dem Bezeichner »prefix ver2 suffix« in der sortierten Reihenfolge erscheinen muss.

 

Beachten Sie bitte auch, dass führende Null-Ziffern bei numerischen Teilen ignoriert werden:

     $ ls -1            $ ls -1v

     abc-1.007.tgz      abc-1.01a.tgz

     abc-1.012b.tgz     abc-1.007.tgz

     abc-1.01a.tgz      abc-1.012b.tgz

 

Einige Suffixe werden dem oben angegebenen regulären Ausdruck evtl. nicht entsprechen. Diese Beispiele würden deshalb nicht der Erwartung entsprechend sortiert:

 

          abc-1.2.3.4.7z

          abc-1.2.3.7z

          abc-1.2.3.4.x86_64.rpm

          abc-1.2.3.x86_64.rpm

 

Optionen

Duplikate entfernen Bei Auswahl dieser Option werden Zeilen, die als Duplikate ermittelt werden, aus dem Ergebnis entfernt.
Umgekehrte Reihenfolge Das Ergebnis eines Vergleichs wird umgekehrt, sodass Zeilen mit größeren Schlüsselwerten vor anstatt nach den anderen Zeilen in der Ausgabe erscheinen.
Führenden Weißraum ignorieren Führender Weißraum wird ggf. ignoriert, wenn eine Zeile nach Sortierschlüsseln abgesucht wird. Standardmäßig gilt Weißraum als Leerstellen oder Tabulatorzeichen, aber die in der Kombinationsliste ausgewählte Locale kann etwas anderes bewirken. Zur Beachtung: Leerstellen mögen evtl. durch die locale-spezifischen Sortierregeln ignoriert werden; allerdings würden sie ohne diese Option für die Bestimmung von Zeichenpositionen in Schlüsselfeldern von Bedeutung sein.
Locale Die gewünschte Locale sowie deren spezifischen Sortierregeln kann in dieser Kombinationsliste ausgewählt werden. Diese Einstellung hat einen Einfluß auf die Sortiermethoden Wörterbuch, Monat, Numerisch und Version.
Groß-/Kleinschreibung ignorieren Kleingeschriebene Zeichen werden den großgeschriebenen Versionen gleichgesetzt, d.h. »b« und »B« sortieren gleich. Die ausgewählte Locale bestimmt über die Zeichentypen.
Stabil sortieren »Stabil sortieren« heißt, dass Zeilen, deren Felder alle als gleich ermittelt werden, in ihrer ursprünglichen relativen Reihenfolge ausgegeben bzw. belassen werden. Falls keine Felder definiert oder globale Sortieroptionen außer Umgekehrte Reihenfolge gesetzt wurden, ist diese Option wirkungslos.
Trennzeichen

Standardmäßig sucht der Sortieralgorithmus nach einem Wechsel von Nichtweißraumzeichen nach Weißraum (normalerweise Leerstellen oder Tabulatoren), um Feldgrenzen zu ermitteln. Nach Bedarf kann hier ein besonderes Trennzeichen als Feldbegrenzer angegeben werden.

 

Ganze Zeile als Schlüssel

Bei Auswahl dieser Option wird die Datei nach ganzen Zeilen sortiert; individuelle Felder oder Zeichen werden hier nicht verwendet.

 

Schlüssel

Nach Bedarf kann die Anwenderin oder der Anwender hier Schlüssel angeben, die die Methode und Reihenfolge der Sortierung bestimmen. Falls nichts Anderes definiert wurde, erben die Sortierschlüssel die globalen Sortieroptionen Groß-/Kleinschreibung ignorieren und Führenden Weißraum ignorieren.

 

Schlüssel fürs Sortieren werden durch Festlegen der folgenden Objekte definiert: Start-Feld, Start-Zeichen, Ende-Feld, Ende-Zeichen. Felder- und Zeichenpositionen werden von 1 hochgezählt. Eine Zeichenpositionsangabe von Null für Ende-Zeichen entspricht dem letzten Zeichen innerhalb des Felds. Bei Angabe von Feldwerten ohne Zeichenpositionen werden die Sortierschlüssel standardmäßig von Anfang bis Ende des Felds bzw. von den Feldern genommen. Schlüssel können mehrere Felder umfassen.

 

Die Optionen Groß-/Kleinschreibung ignorieren, Führenden Weißraum ignorieren und die Sortiermethode wirken sich auf den entsprechenden Schlüssel aus. Falls diese Optionen nicht gesetzt aber Schlüsselfelder und -zeichen festgelegt wurden, werden die Schlüssel gemäß den globalen Optionen sortiert.

 

Ein Klick auf die Schaltfläche Sortieren löst den Sortiervorgang unter Berücksichtigung der eingestellten Parameter aus. Abhängig von der Dateigröße wird u.U. eine Nachricht eingeblendet, dass die Datei während des Sortierens gesperrt sei. Solange der Sortiervorgang läuft, bleibt die Datei für den Zugriff gesperrt und kann nicht geändert werden.


Article Number: 2303
Posted: Fri, Dec 2, 2011 12:35 PM
Last Updated: Fri, Dec 2, 2011 1:13 PM

Online URL: http://www.ultraedit.com/help/article/befehl-spezielles-sortieren-optionen-datei-sortieren-2303.html