Bash
Dateien teilen
Suche…
Einführung
Manchmal ist es nützlich, eine Datei in mehrere separate Dateien aufzuteilen. Wenn Sie große Dateien haben, empfiehlt es sich, diese in kleinere Stücke aufzuteilen
Datei teilen
Wenn Sie den Befehl split ohne Optionen ausführen, wird eine Datei in eine oder mehrere separate Dateien mit jeweils bis zu 1000 Zeilen aufgeteilt.
split file
Dadurch werden Dateien mit den Namen xaa
, xab
, xac
usw. erstellt, die jeweils bis zu 1000 Zeilen enthalten. Wie Sie sehen, wird allen standardmäßig der Buchstabe x
vorangestellt. Wenn die ursprüngliche Datei weniger als 1000 Zeilen hatte, würde nur eine solche Datei erstellt.
Um das Präfix zu ändern, fügen Sie das gewünschte Präfix am Ende der Befehlszeile ein
split file customprefix
Nun werden Dateien mit den Namen customprefixaa
, customprefixab
, customprefixac
usw. erstellt
Verwenden Sie die Option -l
um die Anzahl der Zeilen anzugeben, die pro Datei ausgegeben werden sollen. Im Folgenden wird eine Datei in maximal 5000 Zeilen aufgeteilt
split -l5000 file
ODER
split --lines=5000 file
Alternativ können Sie anstelle von Zeilen eine maximale Anzahl von Bytes angeben. Dazu verwenden Sie die Optionen -b
oder --bytes
. Zum Beispiel, um maximal 1 MB zuzulassen
split --bytes=1MB file
Wir können sed mit der Option w verwenden, um eine Datei in mehrere Dateien aufzuteilen. Dateien können durch Angabe der Zeilenadresse oder des Musters aufgeteilt werden.
Angenommen, wir haben diese Quelldatei, die wir teilen möchten:
cat -n sourcefile
1 Auf dem Ning Nang Nong
2 Wo die Kühe zur Bong gehen!
3 und die Affen sagen alle BOO!
4 Es gibt ein Nong Nang Ning
5 Wohin gehen die Bäume Ping!
6 Und die Teekannen jibber jabber joo.
7 Auf dem Nong Ning Nang
Befehl zum Teilen der Datei nach Zeilennummer:
sed '1,3w f1
> 4,7w f2' sourcefile
Dies schreibt Zeile1 in Zeile3 in Datei f1 und Zeile4 in Zeile7 in Datei f2 aus der Quelldatei.
cat -n f1
1 Auf dem Ning Nang Nong
2 Wo die Kühe zur Bong gehen!
3 und die Affen sagen alle BOO!
cat -n f2
1 Es gibt einen Nong Nang Ning
2 Wohin gehen die Bäume Ping!
3 Und die Teekannen jibber jabber joo.
4 Auf dem Nong Ning Nang
Befehl zum Teilen der Datei nach Kontext / Muster:
sed '/Ning/w file1
> /Ping/w file2' sourcefile
Dadurch wird die Quelldatei in file1 und file2 aufgeteilt. file1 enthält alle Zeilen, die mit Ning übereinstimmen, file2 enthält Zeilen, die mit Ping übereinstimmen.
cat file1
Auf dem Ning Nang Nong
Es gibt einen Nong Nang Ning
Auf dem Nong Ning Nang
cat file2
Wohin gehen die Bäume Ping!