Einführung
Das Linux split
Der Befehl zerlegt Dateien in kleinere Teile und wird zum Analysieren großer Textdateien mit vielen Zeilen verwendet. Während jede aufgeteilte Datei standardmäßig 1000 Zeilen zählt, ist die Größe änderbar.
In diesem Handbuch erfahren Sie, wie Sie Linux split
verwenden Befehl mit Beispielen.
Anforderungen
- Zugriff auf die Terminalleitung.
- Eine große Textdatei (dieses Tutorial verwendet large_text-, small_text- und tiny_text-Dateien).
Linux-Split-Befehlssyntax
Die grundlegenden split
Syntax ist:
split [options] [file] [prefix]
Die split
Der Befehl kann nicht ausgeführt werden, ohne die Zieldatei einzuschließen. Die Angabe des Präfixes ist optional. Wenn kein Präfix angegeben ist, split
verwendet standardmäßig x als Präfix, wobei erstellte Dateien wie folgt benannt werden:xaa ,xab , xac usw.
Linux-Split-Befehlsoptionen
Die split
Der Befehl unterstützt viele Optionen. Die häufigste split
Befehlsoptionen sind:
Option | Beschreibung |
---|---|
-a | Suffixlänge festlegen. |
-b | Legt die Größe pro Ausgabedatei fest. |
-C | Legt die maximale Größe pro Ausgabedatei fest. |
-d | Ändert Standard-Suffixe in numerische Werte. |
-e | Vermeidet das Erstellen leerer Ausgabedateien. |
-l | Erzeugt Dateien mit einer bestimmten Anzahl von Ausgabezeilen. |
-n | Erzeugt eine bestimmte Anzahl von Ausgabedateien. |
--verbose | Zeigt eine detaillierte Ausgabe an. |
Linux-Split-Befehlsbeispiele
Die split
Der Befehl ermöglicht es Benutzern, große Dateien unter Linux aufzuteilen und damit zu arbeiten. Der Befehl wird in der Praxis häufig verwendet, und 13 häufige Anwendungsfälle werden im Folgenden erläutert.
Dateien teilen
Die grundlegende Verwendung von split
besteht darin, große Dateien in kleinere 1000-Zeilen-Blöcke zu unterteilen. Teilen Sie beispielsweise large_text auf Datei und überprüfen Sie die Ausgabe mit ls:
split large_text
ls
Die ls zeigt 13 neue Dateien an, die von xaa reichen anxam . Überprüfen Sie die Zeilenanzahl für jede Datei, indem Sie wc mit -l
verwenden Flagge:
wc -l large_text xa*
Die Zieldatei large_text , ist 13000 Zeilen lang. Die split
Befehl erstellt 13 Dateien mit jeweils 1000 Zeilen. Wenn die Zeilenanzahl der Zieldatei nicht durch 1000 teilbar ist, split
zählt 1000 Zeilen pro Datei mit Ausnahme der letzten. Die letzte Datei hat weniger Zeilen.
Zum Beispiel eine Datei kleinerer_text in kleineres_verzeichnis hat 12934 Zeilen:
Teilen Sie kleineren_Text und verwenden Sie ls
um das Ergebnis zu bestätigen:
split smaller_text
ls
Sobald die Zieldatei aufgeteilt ist, führen Sie wc -l
aus nochmal:
wc -l smaller_text xa*
Die Ausgabe zeigt, dass die letzte Datei 934 Zeilen hat, im Gegensatz zu den anderen 12, die jeweils 1000 Zeilen haben.
Verwenden Sie die ausführliche Option
Die split
Befehl gibt keine Ausgabe aus. Verwenden Sie --verbose
zu verfolgen, wie split
funktioniert. Ausführen von split
mit --verbose
zeigt weitere Details:
split large_ text --verbose
Zeilenzahl pro Datei festlegen
Um die standardmäßige 1000-Zeilen-Regel zu umgehen, verwenden Sie -l
mit split
kennzeichnen . Die split -l
Mit dem Befehl können Benutzer die Anzahl der Zeilen pro Datei festlegen.
Führen Sie beispielsweise split -l2500
aus um Dateien mit jeweils 2500 Zeilen zu erstellen und die Zeilenanzahl mit wc
zu überprüfen :
split -l2500 large_text
wc -l large_text xa*
Der Befehl erstellt sechs neue Dateien. Dateien xaa zu xae haben jeweils 2500 Zeilen, während die Datei xaf hat 500 Zeilen, insgesamt 13000.
Der split -l
Der Befehl kann auch Dateien mit weniger als 1000 Zeilen erstellen. Beispiel:tiny_text Datei hat 2693 Zeilen:
Teilen Sie den Text in Dateien mit 500 Zeilen auf mit:
split -l500 tiny_text
Der Befehl druckt fünf 500-Zeilen-Dateien und eine 193-Zeilen-Datei.
Dateigröße wählen
Teilen Sie Dateien basierend auf ihrer Größe mit split -b
. Der Befehl erstellt Dateien basierend auf der Nummer (n
) von:
- Bytes mit
split -bn
. - Kilobyte mit
split
-bnK
. - Megabyte mit
split -bnM
. - Gigabyte mit
split -bnG
.
Erstellen Sie beispielsweise 1500-KB-Dateien aus large_text mit:
split -b1500K large_text --verbose
Der --verbose
Option zeigt, dass split -bnK
sechs Dateien erstellt. Verwenden Sie zum Überprüfen der Dateigröße wc -c
:
wc -c large_text xa*
Die Ausgabe zeigt, dass fünf Dateien jeweils 1 536 000 Byte groß sind und die sechste 56 957 Byte lang ist.
Maximale Größe angeben
Verwenden Sie -C
um eine maximale Größe pro Ausgabedatei festzulegen. Teilen Sie beispielsweise large_text und stellen Sie die Ausgabegröße auf 2 MB ein mit:
split large_text -C 2MB
Der wc -c
Befehl zeigt, dass split vier neue Dateien erstellt hat und dass die ersten drei ungefähr 2 MB groß sind, während die vierte kleiner ist.
Anzahl der Ausgabedateien festlegen
Verwenden Sie -n
mit split
um die Anzahl der Ausgabedateien zu bestimmen. Teilen Sie beispielsweise large_text in zehn Teile mit:
split large_text -n 10
Teilen Sie eine Datei am Ende einer Zeile
Noch ein -n
Verwendung ist das Aufteilen einer Datei am Ende einer vollständigen Zeile. Kombinieren Sie dazu -n
mit l
. Teilen Sie beispielsweise die Datei large_text in zehn Dateien und endet mit einer vollständigen Zeile mit:
split -n l/10 large_text
Der ls
Befehl zeigt zehn neu erstellte Dateien. Führen Sie cat
aus auf jede Datei, um zu überprüfen, ob die Datei auf einer vollständigen Zeile endet:
Nur eine bestimmte Ausgabedatei anzeigen
Der split
Der Befehl erstellt standardmäßig so viele Dateien wie nötig, um die gesamte Quelldatei abzudecken. Verwenden Sie jedoch -n
mit split
teilt eine Datei, zeigt aber nur die angegebenen Teile an. Das Flag erstellt auch keine Ausgabedateien, sondern gibt die Ausgabe an das Terminal aus.
Teilen Sie beispielsweise tiny_text in 100 Teile, aber nur den ersten anzeigen mit:
split -n 1/100 tiny_text
Der Befehl gibt die erste geteilte Datei an die Standardausgabe aus, ohne neue Dateien zu erstellen.
Suffixlänge festlegen
Der split
Der Befehl erstellt Dateien mit einem Standard-Suffix aus zwei Buchstaben. Ändern Sie die Länge, indem Sie -a
hinzufügen Flagge zu teilen. Um beispielsweise das Suffix 3 Zeichen lang zu machen, geben Sie Folgendes ein:
split -a 3 large_text
Suffix ändern
Verwenden Sie split
um Dateien mit unterschiedlichen Suffixen zu erstellen. Teilen Sie beispielsweise large_text in 2500-Zeilen-Dateien mit numerischen Suffixen:
split -l2500 -d large_text
Die Ausgabe zeigt sechs Dateien mit nummerierten Suffixen, die mit -d
erstellt wurden Flagge. Der -l2500
flag teilt den large_text Datei in sechs 2500-Zeilen-Dateien.
Präfix ändern
Der split
Der Befehl erstellt auch Ausgabedateien mit anpassbaren Präfixen. Die Syntax für den Befehl lautet:
split [file] [prefix]
Teilen Sie beispielsweise large_text in zehn Dateien namens part00 zu part09 mit:
split -d large_text part -n 10
Das Präfix ändert sich von x zu Teil und endet mit Zahlen aufgrund des -d
Flagge. Die -n
Flag teilt die Datei in zehn Teile.
Dateien mit Nullgröße auslassen
Beim Aufteilen von Dateien werden einige Ausgaben Dateien mit der Größe Null zurückgeben. Um Ausgabedateien der Größe Null zu verhindern, verwenden Sie split
mit dem -e
Flagge. Teilen Sie beispielsweise xaa auf Datei aus dem tiny_directory in 15 Dateien, mit einem numerischen Suffix, um sicherzustellen, dass Dateien mit der Größe Null weggelassen werden:
split -n15 -e -d xaa
Überprüfen Sie die Dateigröße mit wc -c
:
wc -c x0* x1*
Mit x0* und x1* als Suchbegriffe sorgt für wc -c
gibt die Größe aller Dateien im Verzeichnis aus, beginnend mit Zahlen.
Getrennte Dateien erneut verbinden
Während split
Dateien nicht wieder zusammenfügen können, gibt es eine alternative Option - den Linux-cat-Befehl. Wird verwendet, um den Inhalt verschiedener Dateien anzuzeigen, cat
verbindet auch geteilte Dateien wieder zu einem neuen vollständigen Dokument.
Beispiel:large_text ist in zehn Dateien aufgeteilt:
Alle Ausgabedateien beginnen mit x . Wenden Sie cat
an zu allen Elementen, die mit x beginnen um sie zusammenzuführen.
Jedoch cat
gibt das Ergebnis auf der Standardausgabe aus. Um die Dateien zu einer neuen Datei zusammenzuführen, verwenden Sie >
mit dem neuen Dateinamen:
cat x* > new_large_text
Ausführen von wc -c
zeigt, dass large_text undnew_large_text sind gleich groß.
Fazit
Nachdem Sie diesen Artikel gelesen haben, wissen Sie, wie Sie Linux split
verwenden Befehl zum Arbeiten mit großen Dokumenten. Als Nächstes erfahren Sie, wie Sie Dateien mit dem SCP-Befehl sicher kopieren und übertragen.