Diese Antwort wurde von einem YouTube-Video inspiriert . Aktualisiert, um die ursprüngliche Sortierreihenfolge beizubehalten, falls dies wichtig ist.
Notepad ++ verfügt über ein integriertes TextFX-Tool, mit dem ausgewählte Zeilen alphabetisch sortiert werden. Mit diesem Werkzeug können Sie nach der Länge der Zeilen sortieren, indem Sie links von jeder Zeile Leerzeichen einfügen und sicherstellen, dass alle Zeilen gleich lang sind.
"The Zoo" steht alphabetisch vor "Their House", da der Raum als Zeichen behandelt wird und vor "i" steht. __X
(so zu tun, als wären die Unterstriche wirklich Leerzeichen) wird in ähnlicher Weise alphabetisch vor kommen _XX
. Die Idee in dieser Antwort ist, Leerzeichen und Zeilennummern hinzuzufügen, __________092dog
damit sie oben sortiert werden _003alligator
.
Als Beispieldaten verwende ich:
Lorem
ipsum
dolor
sit
amet
consectetur
adipisicing
Schritt 1. Fügen Sie Zeilennummern hinzu.
(Anmerkung hinzugefügt von barlop - eine Anmerkung für den Leser zu diesem Schritt, wir werden nicht nach diesen Zeilennummern sortieren, wir sortieren nach der Länge der Zeilen. Aber der Grund für das Hinzufügen der Zeilennummern ist der gleiche wie wir.) kennen die natürliche Reihenfolge, so dass, wenn zum Beispiel zwei + Zeilen gleich lang sind, wir diese Zeilen nach dieser natürlichen Reihenfolge sortieren können)
Angenommen, Ihre Textdatei enthält nur die Daten, platzieren Sie den Textcursor (die vertikale Linie) an der allerersten Position der Datei. Wählen Sie dann im Edit
Menü Column Editor...
( Alt+ C). Wählen Sie "Number to Insert" und beginnen Sie mit 1, erhöhen Sie um 1 und geben Sie führende Nullen ein. Beachten Sie, dass die ursprüngliche Reihenfolge beim Sortieren von der kürzesten zur längsten Zeichenfolge beibehalten wird. Kehren Sie zuerst alle Zeilen um, wenn Sie am längsten bis zum kürzesten sortieren möchten.
1Lorem
2ipsum
3dolor
4sit
5amet
6consectetur
7adipisicing
Schritt 2. Füllen Sie alle Zeilen mit führenden Leerzeichen auf.
Setzen Sie den Textcursor (die vertikale Linie) an die allererste Position der Datei. Wählen Sie dann im Edit
Menü Column Editor...
( Alt+ C). Fügen Sie genügend Leerzeichen ein, damit die kürzeste Datenzeile auf die Länge der längsten Datenzeile aufgefüllt wird. Wenn Ihre kürzeste Zeile 4 Zeichen und Ihre längste 44 Zeichen hat, stellen Sie sicher, dass Sie mindestens 40 Leerzeichen einfügen.
__________1Lorem
__________2ipsum
__________3dolor
__________4sit
__________5amet
__________6consectetur
__________7adipisicing
Schritt 3. Schneiden Sie die Linien auf eine einheitliche Länge.
Verwenden Sie das folgende Suchen / Ersetzen ( Ctrl+ H) für reguläre Ausdrücke , um die Zeichen der rechten Hand abzugleichen, die der Länge Ihrer längsten Datenzeile entsprechen oder diese überschreiten.
^.*(.{50})$
Ersetzen Sie alle durch $1
. Dadurch wird alles außer den 50 am weitesten rechts stehenden Zeichen jeder Zeile abgeschnitten. Wenn Ihre Daten länger (oder kürzer) als 50 sind, passen Sie das {50}
im regulären Ausdruck an.
(Anmerkung von Barlop hinzugefügt - die Idee hier ist, dass die kürzesten Linien am Anfang die meisten Leerzeichen haben. )
_______1Lorem
_______2ipsum
_______3dolor
_________4sit
________5amet
_6consectetur
_7adipisicing
Schritt 4. Sortieren Sie die Zeilen.
Markieren Sie den gesamten Text ( Ctrl+ A). Gehen Sie über das TextFX-Menü zu Text FX > TextFX Tools > Sort lines case sensitive (at column)
. Ihre Daten sollten nun in der Reihenfolge ihrer Länge vorliegen, von der kürzesten bis zur längsten. Wenn Sie möchten, dass sie in der Reihenfolge vom längsten zum kürzesten sind, deaktivieren Sie die Text FX > TextFX Tools > + Sort ascending
Option vor dem Sortieren. Beachten Sie, wie die Zeilennummern ebenfalls vertauscht werden.
_________4sit
________5amet
_______1Lorem
_______2ipsum
_______3dolor
_6consectetur
_7adipisicing
Schritt 5. Entfernen Sie führende Leerzeichen.
Verwenden Sie ein anderes Suchen / Ersetzen ( Ctrl+ H) für reguläre Ausdrücke , um die führenden Leerzeichen abzugleichen.
^ *\d{4}
Das ist ein Leerzeichen zwischen dem Caret und dem Sternchen. Ersetze alles durch nichts. Das wird alle führenden Leerzeichen und die eingefügten Zeilennummern entfernen, wenn Sie 4-stellige Zeilennummern hatten. Ersetzen Sie die {4}
durch die richtige Anzahl von Ziffern in Ihren Zeilennummern.
sit
amet
Lorem
ipsum
dolor
consectetur
adipisicing
MAKRO
Ich habe die obigen Schritte mit der Makrofunktion von Notepad ++ aufgezeichnet und sie funktioniert nicht. Ich bin nicht sicher, welcher Schritt fehlschlägt, aber ich habe nicht diagnostiziert, warum. Sie könnten wahrscheinlich AutoHotKey verwenden, um dies zu automatisieren, wenn Sie es wiederholt tun.