Wie kann ich eine große Datei unter Windows aufteilen?

75

Gibt es ein Tool, um große Textdateien (9 GB) in kleinere Dateien aufzuteilen, damit ich sie öffnen und durchsehen kann?

Gibt es etwas, das über die Befehlszeile von Windows (XP) verwendet werden kann?

Oder wie kann man es am besten aufteilen? Kann ich mit 7z separate Volumes erstellen und dann eines davon separat entpacken? Ist es lesbar oder müssen alle anderen Teile erneut in die große Datei entpackt werden?

Aktualisieren

Ich habe ein schnelles 48-Zeilen-Python-Skript zusammengestellt, das die große Datei in 0,5-GB-Dateien aufteilt, die auch in vim leicht zu öffnen sind. Ich musste nur die Daten zum letzten Teil des Protokolls durchsehen (ja, es ist eine Protokolldatei). Jeder Datensatz ist auf mehrere Zeilen aufgeteilt, sodass grep dies nicht tun würde.

stefanB
quelle
Ich sehe dich bearbeitet, um grep zu erwähnen. Haben Sie Cygwin oder Unxutils installiert? Sie könnten grep -nmit headund verwendet haben tail, um Teile der Datei zu sehen. Beispiel, grep -n "something" file.txtkehrt zurück 95625: something. Sie mögen darunter für insgesamt 10 Linien , die Linie und 9 Linien sehen head -n 95635 file.txt | tail -n 10.
John T.
Ich stelle fest, dass Sie Ihr Problem gelöst haben. Wenn Sie noch in der Nähe sind, können Sie die Lösung posten, damit andere davon profitieren können.
Geselle Geek
Dies wurde ausführlich unter Stack Overflow [1] [1] besprochen
Rishi Dua,

Antworten:

43

Es gibt einen kostenlosen Windows- Dateisplitter namens HJSplit

Erhältlich hier . Die Website behauptet, dass Dateien jeder Art und Größe aufgeteilt werden können, 9 GB sind jedoch eine große Datei.

Pavium
quelle
1
Nach Angaben des Herausgebers unterstützt es das Aufteilen von Dateien "über 100 Gigabyte"
yosh m
8
Mit diesem Programm konnte ich eine große Datei in kleinere Teile aufteilen, allerdings nur nach Größe (kB oder MB). Es werden keine Zeilen berücksichtigt, daher ist es nicht sehr nützlich, um Protokolldateien zu teilen. Es ist auch sehr langsam.
Nichtigkeit
HJSplit funktioniert so hässlich ... Es funktioniert nicht mit 5Gb + Dateien. Der größte Teil der Datei verliert gerade überhaupt. Chunck peases counter nofuses nach 999, und etwas anderes schlägt fehl, wenn größere peases verwenden
user2602807
Auf 64-Bit-Systemen funktioniert es nur mit einer GUI in Windows. Wenn Sie Dinge automatisieren möchten, ist dies keine Lösung
576i
24

Das GNU Core Utils- Paket ( hier für Windows verfügbar ) enthält das Dienstprogramm Split. Es funktioniert gut für mich :-)

Die --help-Dokumentation sieht folgendermaßen aus:

Usage: split [OPTION] [INPUT [PREFIX]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is `x'.  With no INPUT, or when INPUT
is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
  -a, --suffix-length=N   use suffixes of length N (default 2)
  -b, --bytes=SIZE        put SIZE bytes per output file
  -C, --line-bytes=SIZE   put at most SIZE bytes of lines per output file
  -d, --numeric-suffixes  use numeric suffixes instead of alphabetic
  -l, --lines=NUMBER      put NUMBER lines per output file
      --verbose           print a diagnostic to standard error just
                            before each output file is opened
      --help     display this help and exit
      --version  output version information and exit

SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.

Um beispielsweise die Datei input.txt in 100-MB-Blöcke aufzuteilen, die nur an den Zeilenenden aufgeteilt werden,

split input.txt -C 100m

gibt Ihnen Ausgabedateien mit den Namen xaa, xab, xac usw.

Fliegen nach
quelle
2
Zum Beispiel enthält git msys download auch das Hilfsprogramm.
Eis
Cmder ist erstaunlich dafür
Umber Ferrule
15

Ein anderes ist GSplit - laut ihrer Website können sehr große Dateien aufgeteilt werden (größer als 4 GB <- da sie die 4 GB-Grenze überschritten haben, können sie vermutlich auch 9 GB erreichen).

Aber noch etwas - Sie sagen, Sie möchten es in kleinere Teile aufteilen, damit Sie es öffnen und betrachten können. Das klingt nach einer sehr großen Logdatei.

Zum Öffnen großer Textdateien kann ich EmEditor auf jeden Fall empfehlen - sie behaupten, dass es sehr große Dateien (bis zu 250 GB) öffnen kann, und ich habe es in der Vergangenheit für Dateien bis zu 2 GB verwendet. Aber auf jeden Fall denke ich, dass es eine bessere Lösung als das Teilen sein kann.

Turm
quelle
Ich habe gerade GSplit ausprobiert. Es funktioniert zwar über eine verwirrende Oberfläche, bietet jedoch keine Möglichkeit, nur bei einem Zeilenumbruch zu teilen. Zum Teilen von ASCII-Datendateien ist es daher nicht allzu nützlich, da die Aufteilung auf die Hälfte einer Zeile erfolgt.
Flyto
1
@Flyto es tatsächlich ist möglich durch die Linie zu teilen , wenn Sie „Split nach dem Auftreten Nummer“ unter dem Auswahl - Pieces > Type and SizeMenü. Anschließend wählen Sie die Anzahl der Zeilen und den Zeilentrenner in hex. Standardmäßig hat es das Windows-Format CR + LF ( 0x0D0x0A).
Nichtigkeit
@nullability danke - daran hätte ich nicht gedacht. Aber ich fand eine viel einfachere Lösung durch das GNU "split"
-Dienstprogramm
9

Schauen Sie sich Large Text File Viewer an , es ist großartig für solche Dinge. Die meisten Archivierer und Splitter teilen die Datei in Teile auf, mit denen nicht alle Daten einzeln und ordnungsgemäß gelesen werden können. Sie müssen alle extrahieren, um die Datei zurückzugewinnen.

Alt-Text

Large Text File Viewer ist kostenlos und portabel.

John T
quelle
3
Die Verbindung scheint unterbrochen zu sein, dies funktioniert ab sofort: softpedia.com/get/Office-tools/Other-Office-Tools/…
huseyint
Der ursprüngliche (oder bearbeitete?) Link funktioniert jetzt. Ich würde diesen Link jeden Tag über Softpedia nehmen! Ich habe gerade LTFViewer ausprobiert und es ist fantastisch, eine 818 MB große Datei zu öffnen, über deren Öffnen sich sogar Notepad ++ beschwert hat. Nicht viel in Bezug auf die Bearbeitung von Funktionen, aber nachdem ich die Protokolle in LTFViewer angesehen hatte, wurde echo. > myfile.txtdas Problem mit der 818 MB großen Protokolldatei behoben : D
Doktor J
LTFViewer ist wirklich großartig (ich benutze es, um), aber es gibt eine Grenze. Ich habe versucht, eine 3-GB-SQL-Datei damit zu öffnen, aber sie friert ein. Vielleicht hatte ich nicht genug Geduld oder so ...
Mathlight
LTFViewer hat bei mir sehr gut funktioniert. Ich habe es für eine (relativ) kleinere Datei verwendet, nur 750 MB, aber es öffnete es in weniger als 5 Sekunden.
Mike_OBrien
Sie können es aus dem Internet - Archiv herunterladen: web.archive.org/web/20151019115332/http://swiftgear.com
witzeln
8

Mit 7-Zip können Segmente einer Textdatei in einer bestimmten Größe erstellt werden (z. B. 100-MB-Segmente aus einer 1,5-GB-Protokolldatei).

Die wichtigsten Optionen sind - Verwenden Sie "Speichern" im Gegensatz zu "Komprimieren" - Verwenden Sie "Auf Volumes aufteilen"

Sie sollten in der Lage sein, Text in .001 (.nnn) -Dateien anzuzeigen.

Bildbeschreibung hier eingeben

Mehul
quelle
Das angehängte Bild ist perfekt!
Erik
5

Sie können 7zip selbst verwenden, um die Dateien zu teilen. (Sie können als .zip- oder .7z-Format speichern.) Wenn Sie zum Erstellen des Archivs gehen, gibt es eine Option namens "Split volume, bytes". Wählen Sie einfach aus, wie groß die Stücke sein sollen.

Und ja, Sie können sie einzeln entpacken, wenn Sie möchten.

Teilen Sie Dateien in 7zip

Felix
quelle
1

Es gibt ein Online-Tool, das Textdateien aufteilt, wenn jemand Dateien schnell aufteilen möchte. http://www.textfilesplitter.com .

Funktioniert gut für mich. Und teilt Dateien unter Beachtung der Linien, wonach ich gesucht habe. Es heißt auch, dass alles HTML5-Client-Seite ist, so dass es sicher zu bedienen ist. Ich bin nicht sicher, wie groß es sein kann, aber ich denke, es hängt vom RAM Ihrer Maschine ab.

Joe One
quelle
4
Schlagen Sie wirklich vor, eine 9-GB-Datei hochzuladen, damit sie in Ihrem Browser aufgeteilt wird? Ja wirklich??
Spaghettidba
@spaghettidba: Er sagt, es funktioniert clientseitig mit HTML5. Wenn dies der Fall ist, muss es nicht hochgeladen werden. Ich gebe zu, ich hatte die gleiche Reaktion wie Sie, als ich die Antwort zum ersten Mal las.
Mwolfe02
0

Die Idee, einen Teil der Datei zu sehen, bevor ich mich entscheide, was ich damit anfangen soll, ist für mich die beste Option.

Die Large Text Viewer-App kann über den Microsoft Store unter Windows installiert werden und bietet die Option, die Datei in Stücke zu schneiden. Es kann gut sein, dass derselbe Editor verwendet wird, der bereits erwähnt wurde (hinter den Kulissen), aber die Option, ihn von einer bekannten Quelle zu installieren, ist meiner Meinung nach besser als die angebotenen alternativen Links. Bei mir hat es super geklappt.

Das einzige Problem bei der Aufteilung nach Größe besteht darin, dass die Datei nicht unbedingt an einer guten Stelle beschädigt wird, sodass Sie sie möglicherweise bearbeiten müssen, um den gewünschten Inhalt zu erfassen.

Löwe
quelle
1
Bitte bearbeiten Sie Ihre Antwort den Namen der App enthalten, so kann es indiziert und durch Suche gefunden werden.
Scott