Textdateien in mehrere neue Dateien trennen
Wenn wir den Inhalt einer Textdatei auf mehrere neue Dateien aufteilen möchten, kann uns eine Automatisierung dieser Aufgabe viel Arbeit und vor allem viel Zeit ersparen. Insbesondere wenn wir eine sehr große Anzahl von Dateien spalten möchten und die Trennung immer nach dem gleichen Muster vollzogen werden soll, ist die Aufgabe einfach zu automatisieren und die Ersparnis besonders groß. In diesem Tutorial möchten wir Ihnen einen einfachen Weg zeigen, wie Sie ohne viel Aufwand einfach zu einem schnellen Ergebnis kommen. Wir nutzen dafür das Programm TextKonverter.
Generelle Vorgehensweise
Bevor wir uns die einzelnen Möglichkeiten der Trennung sowie die dazugehörigen Optionen detailliert ansehen, möchten wir zuerst einen Blick auf die generelle Vorgehensweise werfen, wie Sie den TextKonverter dazu nutzen können, einzelne Dateien in mehrere neue Dateien zu splitten:
- Fügen Sie als erstes alle Dateien, die getrennt werden sollen, zu der Dateiliste im Programm hinzu. Am einfachsten geht dies, indem Sie die Dateien einfach aus einem beliebigen Ordner auf den TextKonverter ziehen.
- Anschließend aktivieren Sie die Aktion "Dateien splitten" auf der rechten Seite des Hauptfensters unter "Aktionen > Dateien". In den Optionen dieser Aktion aktivieren Sie mindestens ein Kriterium, nach dem die Dateien getrennt werden sollen.
- Wenn Sie alle Optionen und gegebenenfalls sonstige Aktionen zur Bearbeitung Ihrer Dateien eingestellt haben, klicken Sie auf den Button "Konvertieren und Speichern" (SHIFT + STRG + S) um die Trennung durchzuführen. Als Grundlage für die Dateinamen der einzelnen Teile werden die Einstellungen aus den Speicheroptionen verwendet und an den so generierten Basis-Dateinamen eine fortlaufende Nummer für jeden der Teile angehängt.
In dieser generellen Beschreibung der Vorgehensweise sind wir noch nicht darauf eingegangen, welche Kriterien wir für die Trennung auswählen können. Darauf möchten wir im nächsten Abschnitt eingehen.
Möglichkeiten der Trennung
Der TextKonverter bietet Ihnen 3 verschiedene Möglichkeiten beziehungsweise Kriterien an, nach denen Sie Ihre Dateien trennen können. Diese Möglichkeiten können auch miteinander kombiniert werden:
- Dateien an einem Text oder an einem regulärem Ausdruck trennen
- Dateien an Zeilenumbrüchen trennen
- Dateien nach Anzahl von Zeichen trennen
- Kombination mehrerer Kriterien
- Allgemeine Optionen für alle Trennungen
- Platzhalter für die Nummerierung der Teile
- Speicherung und Konfiguration der Dateinamen der Teile
- Mehrere Textdateien miteinander verbinden
Dateien an einem Text oder an einem regulärem Ausdruck trennen
Mit dieser Option können Sie Ihre Originaldatei an einem bestimmten Text trennen. Das heißt, nach jedem Auftreten dieses Suchtextes wird eine neue Datei begonnen. Kommt Ihr Text zweimal in der Originaldatei vor, werden entsprechend drei neue Dateien gespeichert (eine mit dem Text, der in der Originaldatei vor dem ersten Vorkommen des Suchtextes steht, eine mit dem Text zwischen dem ersten Vorkommen und dem zweiten Vorkommen des Suchtextes sowie eine dritte Datei mit dem Text, der in der Originaldatei hinter dem zweiten Vorkommen des Suchtextes steht).
Dabei spielt es keine Rolle, ob Ihr Suchtext aus nur einem Zeichen, aus mehreren Wörtern oder sogar mehreren Zeilen besteht. Auch muss es sich bei dem Suchtext nicht um einen statischen Text handeln: Wenn Sie die Option "Als regulären Ausdruck interpretieren" unter der Textbox aktivieren, können Sie an dieser Stelle auch mit regulären Ausdrücken arbeiten. Ein einfaches Beispiel wäre der reguläre Ausdruck [0-9] der eine Trennung an einer beliebigen Ziffer durchführt.
Wenn Sie den Suchtext, an dem getrennt wurde, in den neuen Dateien erhalten möchten, können Sie eine oder beide der Optionen "Suchtext am Anfang jeder neuen Datei erhalten" oder "Suchtext am Ende jeder neuen Datei erhalten" aktivieren. Wenn Sie keine der beiden Optionen aktivieren, wird der Suchtext nicht mehr in den neuen Dateien auftauchen.
Eine weitere Option ermöglicht es, nicht direkt am Suchtext zu trennen sondern erst am nächsten Zeilenumbruch. Wenn die Option "Am nächsten Zeilenumbruch trennen" aktiviert ist, bleiben zusammengehörige Wörter eines Abschnitts in der selben Datei und werden nicht voneinander getrennt. Damit können Sie zum Beispiel nach Abschnitten trennen, die bestimmte Wörter enthalten, ohne die jeweiligen Abschnitte auseinander zu reißen.
Dateien an Zeilenumbrüchen trennen
Mit dieser Option können Sie die Originaldatei an ihren Zeilenumbrüchen trennen. Eine Trennung ist entweder an allen Zeilenumbrüchen der Datei möglich oder an jedem x-ten Zeilenumbruch.
Wenn Sie an allen Zeilenumbrüchen trennen möchten, heißt das, dass je Zeile der Originaldatei eine neue Datei angelegt wird, die den Text der jeweiligen Zeile enthält. Schreiben Sie in diesem Fall in das Feld "Trennung nach dieser Anzahl von Zeilenumbrüchen" eine "1".
Wenn Sie an jedem x-ten Zeilenumbruch einer Datei trennen möchten, schreiben Sie in das Feld "Trennung nach dieser Anzahl von Zeilenumbrüchen" eine beliebige Zahl größer als 1. Wenn Sie zum Beispiel eine 10 in das Feld eintragen und ihre Originaldatei 50 Zeilen enthält, werden durch das Trennen 5 Dateien mit je 10 Zeilen aus der Originaldatei erstellt.
Für diese Option gelten die Einstellungen unter "Aktionen > Dateien > Zeilenumbruchtyp". Standardmäßig, also wenn Sie hier keine Änderungen vornehmen, wird der Zeilenumbruchtyp der Originaldatei automatisch erkannt und Sie erhalten das Ergebnis, welches man allgemeinhin erwarten würde. Ausschlaggebend ist dann der typische Zeilenumbruch, den Sie aus einem durchschnittlichen Texteditor kennen. Jedoch können im TextKonverter auch andere Kriterien für einen Zeilenumbruch festgelegt werden. So ist es beispielsweise möglich, beliebige Zeichen, Zeichenketten oder auch mehrere verschiedene Zeichen als Zeilenumbruch zu definieren. Dadurch erhalten Sie weitere Möglichkeiten, Ihre Dateien flexibel zu trennen. Wie das funktioniert erfahren Sie in den Erläuterungen zu benutzerdefinierten Zeilenumbrüchen an einem oder an mehreren Zeichen.
Dateien nach Anzahl von Zeichen trennen
Mit dieser Option können Sie Ihre Originaldatei in Stücke mit einer frei wählbaren Anzahl beziehungsweise Länge von Zeichen zerschneiden. Sie können einen beliebigen Zahlenwert in das Feld eingeben. Wenn Ihre Ausgangsdatei beispielsweise 2500 Zeichen hat und Sie einen Wert von 1000 Zeichen angeben, wird Ihre Ausgangsdatei in 3 Teile gesplittet: Die erste neue Datei enthält die ersten 1000 Zeichen der Originaldatei, die zweite neue Datei enthält die zweiten 1000 Zeichen der Ausgangsdatei und die dritte neue Datei enthält die restlichen 500 Zeichen. Falls Ihre Ausgangsdatei weniger Zeichen als den angegebenen Wert enthält, findet keine Trennung statt und die Originaldatei bleibt mit ihrem Inhalt erhalten.
Diese Option können Sie auch dazu nutzen, den Text aller erstellten Dateien auf eine maximale Anzahl von Zeichen zu begrenzen. Zum Beispiel wenn Sie diese Option mit den anderen Optionen kombinieren.
Kombination mehrerer Kriterien
Es muss mindestens eine dieser vorgestellten Optionen aktiviert sein, um die Funktion ausführen zu können. Auch die Aktivierung von mehreren dieser Optionen ist möglich. In diesem Fall wird zuerst nach dem Kriterium der ersten aktivierten Option getrennt. Anschließend werden die resultierenden Teile erneut nach dem Kriterium der zweiten aktivierten Option getrennt und so weiter.
Wenn Sie zum Beispiel sowohl die Option für eine Trennung an Zeilenumbrüchen als auch die Option für eine Trennung nach einer bestimmten Anzahl von Zeichen aktivieren, wird als erstes an den Zeilenumbrüchen getrennt. Anschließend werden alle Teile (hier entsprechend die Zeilen) durchgegangen und falls eine Zeile aus mehr als den erlaubten Zeichen besteht, wird innerhalb der betreffenden Zeile erneut gemäß dem zweiten Kriterium getrennt.
Allgemeine Optionen für alle Trennungen
Unter den 3 Optionen, mit denen Sie die Kriterien für die Trennung der Dateien festlegen können, finden Sie weitere allgemeine Optionen, die unabhängig von den Kriterien immer angewendet werden:
- Whitespace vom Beginn oder Ende jeder neuen Datei entfernen: Wenn diese Option aktiviert ist, werden Leerzeichen, Tabs und Zeilenumbrüche vom Beginn beziehungsweise vom Ende jeder neuen Datei entfernt. Das heißt, wenn ein Teil nach der Trennung zum Beispiel mit Zeilenumbrüchen oder einigen Leerzeichen beginnen oder enden sollte, werden diese vor der Speicherung entfernt, so dass die neue Datei direkt mit dem eigentlichen Text beginnt beziehungsweise endet.
- Aktionen vor oder nach dem Trennen durchführen: Wenn neben dem Datei-Split auch andere Aktionen wie zum Beispiel Textaktionen, Zeilenaktionen oder CSV-Aktionen aktiviert sind, stellt sich die Frage, ob diese Aktionen vor oder nach der Trennung angewendet werden sollen. Wichtig ist dies insbesondere für Zeilenaktionen oder CSV-Aktionen, die sich auf eine bestimmte Zeile oder Spalte im Text beziehungsweise in der Datei beziehen. Schließlich kann sich durch die Trennung sowohl die Zeilennummer als auch die Spaltennummer ändern. Ein Extrembeispiel dafür wäre die Trennung an Zeilenumbrüchen. Vor der Trennung könnte eine Datei 100 Zeilen haben, die mit den Aktionen über die 100 verschiedenen Zeilennummern einzeln angesprochen werden können. Nach der Trennung hat jede Datei jedoch nur noch eine einzige Zeile mit der Zeilennummer 1 - eine Unterscheidung nach Zeilen ist nicht mehr möglich. Wenn Sie jedoch nach einem anderen Kriterium trennen und die neuen Dateien mit einer Zeilennummerierung innerhalb der jeweiligen neuen Datei versehen möchten, muss diese Aktion nach der Trennung erfolgen, damit die Zeilennummern für jede neue Datei wieder von vorne beginnen. Je nach Anwendungsbereich kann es also mehr Sinn ergeben, die Aktionen entweder vor oder erst nach der Trennung durchzuführen. Diese Unterscheidung können Sie mit diesen Optionen steuern. Es ist auch möglich, die Aktionen sowohl vor als auch nach der Trennung zu beiden Gelegenheiten anzuwenden.
- Minimale Länge einen neuen Datei (in Zeichen): Mit dieser Option können Sie eine minimale Länge für die entstehenden Teile beziehungsweise für die neuen Dateien festlegen. Gespeichert wird dann nur, wenn eine neue resultierende Datei mindestens so viele Zeichen enthalten würde, wie angegeben. Mit dieser Option können Sie zum Beispiel die Speicherung von leeren Dateien verhindern. Je nach Trennungskriterien können leere Dateien ohne Inhalt durch verschiedene Gegebenheiten entstehen. Zum Beispiel falls Sie an Zeilenumbrüchen trennen und eine Datei mehrere Zeilenumbrüche oder leere Zeilen hintereinander enthält. Wenn Sie hier angeben, dass die neuen Dateien mindestens eine Länge von einem Zeichen haben sollen, werden solche leeren Teile nach der Trennung ignoriert und nicht gespeichert. Natürlich können Sie die Zahl auch höher ansetzen und damit die Speicherung nach anderen Kriterien steuern. Wenn Sie die Zahl auf 0 setzen, wird jeder resultierende Teil gespeichert, im Zweifel also auch leere Dateien.
Platzhalter für die Nummerierung der Teile
Neben den einfachen Platzhaltern sowie den Platzhaltern für Referenzen stellt der TextKonverter zwei weitere Platzhalter zur Verfügung, die nur im Zusammenhang mit dem Splitten von Dateien verwendet werden können: %part_num% und %part_abs%.
Der Platzhalter %part_num% steht für die Nummer des Teils während der Platzhalter %part_abs% für die Anzahl der Teile steht. Beide Platzhalter können sowohl im Dateinamen (also in den Feldern "Ordner", "Name" und "Dateiendung" der Speicheroptionen) als auch in den Aktionen und den Dateien selber verwendet werden.
Wenn eine Datei zum Beispiel in 5 Teile gesplittet wird, steht der Platzhalter %part_abs% immer für "5" während der Platzhalter %part_num% abhängig von dem jeweiligen Teil ist. Für den ersten Teil steht %part_num% auf "1", im zweiten auf "2" und so weiter. Mit diesem Platzhalter ist es demnach zum Beispiel möglich, die Nummer jedes Teils in die jeweilige Teil-Datei zu schreiben, die Dateinamen der Teile durchzunummerieren oder die einzelnen Teile jeweils in einen anderen Ordner, dessen Namen die Nummer des Teils enthält, zu speichern.
Da die aktuelle Version des TextKonverters keine Vorschau für Datei-Trennungen vorsieht, werden auch die Platzhalter %part_num% und %part_abs% nicht in der Vorschau berücksichtigt.
Speicherung und Konfiguration der Dateinamen der Teile
In welchem Ordner und unter welchem Namen die neuen Dateien gespeichert werden sollen, können Sie rechts unten im Hauptfenster des TextKonverters festlegen. Hier können Sie einen beliebigen Ordner auswählen und einen Basisnamen für alle Dateien bestimmen. Mit der Option "beibehalten" kann dies auch der Ordner oder Name der Originaldatei sein.
Wenn Sie die Voreinstellungen verwenden, werden die einzelnen Teile beziehungsweise die Dateien, die die einzelnen Teile enthalten, der Reihe nach durchnummeriert, indem an den angegebenen Namen eine fortlaufende Nummer angehängt wird. Die Dateinamen der gespeicherten Teile könnten also zum Beispiel "datei-01.txt", "datei-02.txt" bis "datei-20.txt" lauten.
Wenn Sie die Dateien auf eine andere Weise nummerieren möchten, können Sie den Platzhalter %part_num% innerhalb der Speicheroptionen verwenden, der für die Nummer des jeweiligen Teils steht. Wenn Sie als Dateiname zum Beispiel "%part_num% %name%" verwenden, würden die Teildateien aus dem Beispiel "01 datei.txt", "02 datei.txt" bis "20 datei.txt" benannt oder wenn Sie als Name "%name% (%part_num%)" nutzen, wären die resultierenden Dateinamen "datei (01).txt", "datei (02).txt" bis "datei (20).txt".
Wenn der Dateiname den Platzhalter "%part_num%" enthält, erfolgt keine automatische Nummerierung mittels Anhängens der Nummer des Teils. Wenn der Dateiname den Platzhalter "%part_num%" dagegen nicht enthält, erfolgt immer eine automatische Nummerierung, außer die Option "Dateinamen der Teile nur nummerieren falls erforderlich" ist aktiviert und es existiert noch keine Datei mit diesem Namen.
Für die Datei-Benennung der einzelnen Teile können Sie auch Referenzen verwenden. Ein Beispiel wäre die Verwendung des Platzhalters "%ref:line=1%", der für die erste Zeile der Datei steht. Wenn Sie diesen Platzhalter als Dateinamen verwenden, wird die jeweils erste Zeile jedes Teils als Dateiname für den betreffenden Teil verwendet. Wenn Sie dagegen zum Beispiel den Platzhalter "%ref:word=1%" als Ordner angeben, werden die einzelnen Teile gemäß ihrem ersten Wort in verschiedene Ordner sortiert, die jeweils das erste Wort jeder Datei als Namen tragen. Natürlich können Sie auch beliebige andere Referenzen verwenden oder die Referenzen mit anderen Zeichen oder Platzhaltern kombinieren. Wenn Sie Referenzen verwenden und dadurch bereits einen eindeutigen Dateinamen erhalten, können Sie die Option "Dateinamen der Teile nur nummerieren falls erforderlich" aktivieren, wenn Sie keine zusätzliche automatische Nummerierung der Dateien wünschen.
Auch wenn wir in diesem Tutorial manchmal nur von einer Datei als Ausgangslage oder Originaldatei sprechen, kann die Funktion natürlich trotzdem für mehrere Dateien gleichzeitig angewendet werden. Das heißt, falls Sie mehrere Dateien in Ihrer Dateiliste haben, wird jede Datei unabhängig voneinander einzeln getrennt.
Mehrere Textdateien miteinander verbinden
Neben der Möglichkeit, einzelne Dateien in mehrere neue Dateien zu trennen, beherrscht der TextKonverter übrigens auch den umgekehrten Weg: Wie Sie eine beliebige Anzahl von - zum Beispiel auseinandergerissenen - Dateien wieder zusammenfügen können, erfahren Sie im Tutorial über das Zusammenfügen von mehreren Textdateien.