Massive Datei auf Mac öffnen?

14

Ich möchte eine riesige Textdatei auf meinem Mac öffnen. Die Datei ist etwas mehr als 10 GB. Ich werde nicht darauf eingehen, wie es erstellt wurde oder wie es verwendet wird, da es für die Frage nicht wirklich relevant ist.

Gibt es ein Mac-Programm, mit dem ich eine so große Datei öffnen kann, oder das ich sie vielleicht in Stücke aufteilen kann (z. B. 200 MB oder so), die sich leichter einzeln öffnen lassen?

Ich muss es nicht unbedingt bearbeiten, sondern kann nur Teile davon anzeigen. Alles was ich probiert habe, Textmate, Vim etc etc alles (verständlicherweise) rausschmeißen oder ewig dauern bis es geladen ist.

Ich verwende auch Windows und Linux, aber das Verschieben einer so großen Datei ist nicht einfach. Es befindet sich derzeit auf meinem Mac, und ich möchte es nicht mühsam verschieben.

Chris Salij
quelle
Ähnlich wie superuser.com/questions/138474/… , aber diese Frage akzeptiert auch eine Alternative zum Teilen der Datei
Doug Harris

Antworten:

16

split schafft das -

 split -b 200m [file]

Die Datei wird in 200 MB große Blöcke aufgeteilt. Sie können mit -l Zeilen teilen

 split -l 1000 [file]

teilt die Datei in 1000 Zeilenblöcke auf.

Wenn das nicht funktioniert, gibt es einen wirklich guten Hex-Editor für Mac, Hex Fiend, der massive Dateien öffnen kann:

Arbeiten Sie mit großen Dateien. Hex Fiend kann so große Dateien verarbeiten, wie Sie erstellen können. Es wurde an Dateien mit einer Größe von bis zu 118 GB getestet.

Ich hoffe, das hilft!

redigiert
quelle
Es ist Unix, also muss es funktionieren. :)
maaartinus
1
Hex Friend ist einfach super !! Vielen Dank für die Erwähnung
lukaswelte
3

Haben Sie eines der folgenden Befehlszeilentools ausprobiert:

  • sedoder awk: Stream-Editoren, aber diese können manchmal komplexe Ausdrücke erfordern, um die gewünschte Ausgabe zu erhalten
  • split: Teilt Dateien in Blöcke mit einer bestimmten Anzahl von Bytes, Zeilen usw. auf.
  • csplit: Teilt die Datei basierend auf dem Kontext, der durch den regulären Ausdruck angegeben wird

Eine von splitoder cspliterledigt möglicherweise die Arbeit, je nachdem, wie sie die Speichernutzung verwalten. Auf dieser Seite finden Sie weitere Informationen zu splitundcsplit .

Weitere Informationen zu diesen Tools erhalten Sie in Ihrer bevorzugten Suchmaschine oder man <cmd-name>über die Befehlszeile im Terminal.

Wenn Sie mehr Kontext angeben können, wie Sie die Dateien aufteilen möchten, könnte sicher jemand mit Expertenwissen über sed / awk oder reguläre Ausdrücke Abhilfe schaffen.

dtlussier
quelle
2

Ich würde empfehlen, HexFiend zu testen - obwohl es auch ein Hex-Editor ist, liest es die Datei direkt von der Festplatte und versucht nicht, sie wie die meisten anderen Texteditoren in den Speicher zu laden. Wenn Sie den Hex-Teil ausblenden möchten, deaktivieren Sie "Hexadezimal" im Menü "Ansicht".

Chealion
quelle
2

Eine weitere Option wäre die Verwendung der integrierten Befehle head und tail .

So erhalten Sie die ersten 1000 Zeilen:

head -1000 hugefile

So erhalten Sie die letzten 1000 Zeilen:

tail -1000 hugefile

Oder um Zeilen von 1.000.000 bis 1.001.000 zu erhalten:

head -1001000 hugefile | tail -1000

Dies kann jedoch einige Zeit in Anspruch nehmen.

Eric Darchis
quelle
Ich mag diese Option. Wenn ich nur ein paar Stücke auf einmal nehmen wollte. Es passt jetzt nicht zu meinem Zweck, aber ich werde es trotzig in der Zukunft verwenden :) Danke
Chris Salij
0

Ich muss für meine Arbeit große Textdateien anzeigen und habe jahrelang nach Alternativen gesucht, allerdings nur unter Windows.

Der einzige Texteditor, den ich jemals gefunden habe und der wirklich effizient mit großen Dateien arbeiten kann, ist V - The File Viewer .

Obwohl kommerziell, lohnt es sich für 20 US-Dollar, wenn Sie solche Dateien häufig bearbeiten müssen.
Wenn Sie nur eine bestimmte Datei anzeigen müssen, ist eine voll funktionsfähige Testversion verfügbar.

Die Übertragung von 10 GB über das Netzwerk auf einen Windows-Computer sollte nicht unerträglich langsam sein.

Harrymc
quelle