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