Bearbeiten großer Dateien unter Mac OS X [geschlossen]

77

Hat jemand Empfehlungen für einen Programmiereditor, der mit großen Dateien unter Mac OS X umgehen kann? Im Großen und Ganzen meine ich Hunderte von Megabyte. TextMate schneidet es nicht.

John Topley
quelle
4
Benötigen Sie eine interaktive Bearbeitung? Da eine so große Datei das übertrifft, was das Gehirn einer Person verarbeiten kann, könnten Sie vielleicht einfach Brocken herausziehen und mit diesen umgehen? Oder verwenden Sie sed / perl / python / what, um entsprechende Änderungen an einem Stream vorzunehmen und die Datei dann einzugeben?
Jay Kominek
1
Das ist ein sehr guter Punkt. Es ist eigentlich eine XML-Datei und ich möchte nur eine Vorstellung von ihrer Struktur bekommen.
John Topley
Vim faltet auch in vielen Sprachen, ist sich jedoch nicht sicher, ob es XML unterstützt. Etwas zu prüfen :-)
Topher Fangio
4
> 5-GB-Protokolldatei auf einem Haswell Core i7 iMac mit 16 GB und einer SSD mit Mavericks: TextMate: Öffnet eine leere einzeilige Datei mit dem richtigen Namen und befindet sich dort und tut nichts. Ich wartete fast eine Stunde, bevor ich darauf zurückkam. TextWrangler & BBEdit: Fehler sofort. Erhabener Text 2: Fortschrittsbalken für 9 Minuten, dann Drehen des Rads für zwei weitere, dann perfekte Konsole: jeweils nur 16 MB Chunks. Es kann nicht die gesamte Datei gleichzeitig angezeigt, gescrollt oder durchsucht werden.
JakeRobb
5
Crisp: Lässt mich registrieren, bevor ich die Testversion herunterladen kann. Booooo. Nicht bewertet. XCode: Spinnrad für fünf Minuten; Scrollen ist in Ordnung, aber Bearbeiten und Suchen sind schrecklich. MacVim: Öffnet ein leeres, weißes Fenster. kein Spinnrad. 30 Sekunden später ist die Datei geöffnet. Suchen, Bearbeiten und Scrollen sind alle hervorragend. Urteil: Abhängig von Ihren Prioritäten gebe ich den Gewinn an Sublime Text 2 oder MacVim.
JakeRobb

Antworten:

68

Hast du Vim ausprobiert ? Es ist der einzige Editor, den ich benutze :-)

Bearbeiten: Es scheint von ein paar Faktoren abzuhängen. Ich habe Vim mit großen CSV-Dateien (dh textbasierten Dateien) verwendet, und das hat hervorragend funktioniert. YMMV :-)

Topher Fangio
quelle
4
Wenn Vim wirklich mit einer Datei mit einer Größe von Hunderten von Megabyte umgehen kann, tippe ich darauf. Ich weiß, dass Emacs an enorm großen Dateien ersticken.
Adam Rosenfield
Ich benutze es ziemlich oft für sehr große Protokolldateien. Es lädt nur das, was es braucht. Jetzt kann es eine Weile dauern, bis in jeder Zeile eine lustige Datenmanipulation durchgeführt wird ;-)
Topher Fangio
5
Vim hat wie ein Zauber für mich gearbeitet, also danke für den Vorschlag. BBEdit verschluckte sich nur an einer 78-MB-Datei und VIM öffnete sie in Sekunden :)
Katy
1
FWIW Ich habe gerade eine 4 GB SQL-Dump-Datei in vim auf meinem MacBook Pro geöffnet. Es dauerte eine Minute, um zu öffnen, aber es funktioniert ...
GTD
1
Nur ein Kommentar - Riesiger VIM-Fan, aber versucht, eine 3-GB-Datei sowohl auf meinem Mac (MacVim) als auch auf Ubuntu mit Standard-VIM zu öffnen, und es dauert sehr lange!
SilentSteel
30

Wenn Sie, wie Sie sagen, nur wirklich eine Vorstellung von der Struktur haben müssen, öffnen Sie das Dokument in der Konsole. Ob Sie es glauben oder nicht, ich kann Dateien mit einer Größe von bis zu 15 GB anzeigen (MAC OSX 10.7.2).

Brandon Berry
quelle
1
Ich habe es gerade ausprobiert und es ist perfekt zum Anzeigen großer Dateien auf dem Mac. Es sieht so aus, als ob es zum Anzeigen von Protokollen gemacht wurde. Sie müssen also lernen, wie man es ein wenig verwendet, aber es ist sehr effizient beim Anzeigen großer Dateien. Vielen Dank!
Robert Beltran
1
Ich habe gerade eine 2,4-GB-Textdatei in ungefähr 10 Sekunden damit geöffnet. PERFEKT!!! Kann das nicht genug empfehlen.
Charlie74
Vielen Dank! Ich habe gerade eine 16,95 GB XML-Dokumentdatei geöffnet.
Daniel Ran Lehmann
8
Die Konsole öffnet nur die letzten 16 MB, deshalb scheint es schnell zu sein! Bitte beachten Sie die Size: 8,7 GB (Showing last 16,8 MB)in der Statusleiste.
Tomáš Kafka
1
Richtig, Tomas. Auch hallo, kleine Welt.)
Zoltán
26

HexFiend wurde zum Lesen von Dateien jeder Größe entwickelt. Sie müssen jedoch mit einem Zeilenumbruch mit festen Spalten und ohne Erkennung von Zeilenumbrüchen arbeiten.

Draxillion
quelle
4
Soweit ich gesehen habe, ist HexFiend leicht einer der schnellsten, der eine solche Datei liest (5-GB-SQL-Dump-Datei in 3 Sekunden geöffnet), aber nicht wirklich zum Bearbeiten gedacht . Oder die Menüs scheinen dies nicht zu implizieren. Sofern Sie nichts anderes wissen?
Groxx
Das hat bei mir funktioniert - auch nachdem Vim versagt hat.
Blair
HexFiend öffnete eine 6 GB Json-Datei in 1-2 Sekunden, ohne einen Schweiß zu brechen
Diek
kann nicht mit UTF-8 umgehen ... github.com/ridiculousfish/HexFiend/issues/247
PatrickT
17

Wenn Sie nur eine Vorstellung von der Struktur haben möchten, wie wäre es dann mit mehr oder weniger Surfen ?

MikeJ
quelle
1
Sehr guter Rat: Wenn Sie nur den Inhalt lesen müssen, ist weniger noch effizienter als vi.
Arthur Reutenauer
11

Auf jeden Fall ist vim die Antwort. Schauen Sie sich das Macvim an , die Mac-Version.

Xavier Guardiola
quelle
Können Sie erklären, wie vim funktioniert? Für mich zeigt es nur den oberen oder unteren Rand der Datei und reagiert nicht auf sich bewegende Pfeile nach oben und unten oder auf ein Klicken ...
PatrickT
7

BBEdit , dieser alte Standby-Modus, ist berühmt dafür, wirklich große Dateien mit Gelassenheit zu verarbeiten (oder zumindest in der Zeit vor TextMate). Es gibt eine kostenlose Version, TextWranger ; Ich gehe davon aus, dass es auf demselben Kern basiert und trotzdem funktionieren sollte.

jacobian
quelle
3
Ich habe TextWrangler ausprobiert und es hat die Datei leider verstopft.
John Topley
1
Das neueste BBEdit ist auf meiner 4-GB-Datei abgestürzt. Ich verwende es normalerweise für 100-Meg-Dateien, aber es kann anscheinend keine Dateien mit GB-Größe verarbeiten.
GTD
4
TextWrangler und BBEdit können jede Datei mit bis zu 384 MB bearbeiten. Diese Begrenzung liegt daran, dass die gesamte Datei im RAM gespeichert wird und sie mit Unicode verschlüsselt ist, sodass sie nicht sehr effizient ist. Ich habe kürzlich split -b 300m foo.xmleine große XML-Datei verwendet, und TextWrangler brauchte einige Sekunden, um sie zu öffnen, war dann aber voll funktionsfähig - sogar Syntaxhervorhebung.
Abhi Beckert
3
@AbhiBeckert codiert, wollten Sie codiert sagen
jcollum
4

Ich habe gvimfür Dateien verwendet, die größer als 1 GB NASTRAN- Ausgabe sind. gvimhandhabt große Dateien sehr gut. Tatsächlich war das der Hauptgrund, warum ich von Emacsvim gewechselt bin .

Emacsist ein großartiger Editor, der jedoch nur Dateien mit einer Größe von bis zu 128 MB verarbeiten kann, zumindest die 32-Bit-Version. Wenn Sie sich für die Verwendung entscheiden, Emacsempfehle ich, sie so zu konfigurieren, dass die Syntaxhervorhebung für große Dateien deaktiviert wird.

Eine weitere Möglichkeit , mit großen Dateien jene Tage zu behandeln war schwer Nutzung head, tailund split.

Ludwig Weinzierl
quelle
3

Die nativen Emacs unter OS X scheinen jetzt die 64-Bit-Version zu sein. Es funktioniert wie ein Zauber in meiner 250 MB Textdatei.

andebauchery
quelle
2

Vim wurde bereits empfohlen. Wenn Sie vim verwenden, möchten Sie möglicherweise auch das LargeFile- Plugin (von dem unnachahmlichen Charles "Dr Chip" Campbell) verwenden, das verschiedene Funktionen von vim im Interesse der Geschwindigkeit für Dateien über 100 MB automatisch deaktiviert (Standardeinstellung).

Michael Dunn
quelle
1

emacs natürlich mindestens ein 64 bit bit build (das kannst du jetzt unter OS X machen, oder?)

Aber auch dies sind sicherlich generierte Dateien. Müssen Sie wirklich alle gleichzeitig interagieren?

Simon
quelle
Soweit ich weiß, kann Emacs nur bis zu 128 MB verarbeiten. Ich bin mir bei 64 Versionen nicht sicher.
Ludwig Weinzierl
Ja, bis zu 128 MB auf 32. Ich sollte dies über 64-Bit-Builds unter OS X überprüfen, da es in gewisser Weise lustig über 64-Bit ist
Simon
1

Da Sie in einem Kommentar festgestellt haben, dass es sich tatsächlich um eine XML-Datei handelt und Sie sich nur ein Bild von ihrer Struktur machen möchten, sollten Sie sich den LargeFileViewer von Oxygen ansehen, eine Hilfs-App, die im Oxygen XML Editor enthalten ist. (Es könnte auch mit dem Autor kommen, ich weiß es nicht.)

Avi Flachs
quelle
-2

Crisp behauptet, Dateien mit "8 GB oder mehr" bearbeiten zu können, aber ich habe es nicht ausprobiert.

Alex Martelli
quelle
-3

Bearbeiten: Verwenden Sie nicht Sublime Text 2! Obwohl es für mich funktioniert hat, kann Sublime Text 2 anscheinend für viele andere Benutzer keine großen Textdateien verarbeiten. Unten ist meine ursprüngliche Antwort:


Sublime Text 2 für Mac 10.6.8 hat mir problemlos eine 200-MB-Datei geöffnet

Gartenwein
quelle
8
Ich habe es gerade mit einer 180 MB SQL-Datei versucht. Öffnet die Datei für Minuten und versucht, die gesamte Datei in den Speicher zu laden. Nicht gut
JaakL
Wenn Sie 180 MB SQL-Dateien codieren, machen Sie möglicherweise "falsch". (Oh, es ist ein Export? Nun, ich vergebe dir dann)
unsynchronisiert
Sublime Text 3 hängt grundsätzlich beim Suchen und Ersetzen großer Dateien.
Alex
Sehr großartiger Texteditor, aber nicht seine Stärke.
A.Krueger
Ich bekomme immer wieder negatives Feedback zu meiner Antwort und ich glaube allen, die diese Antwort abgelehnt haben, dass meine Antwort für ihren Anwendungsfall nicht korrekt war. Vielleicht ist der einzige Anwendungsfall, auf den meine Antwort richtig war, mein Anwendungsfall :-). Ich überlege, was ich tun soll. sollte ich diese Antwort entfernen und einige Punkte auf meinen Ruf zurückbringen? Ich habe beschlossen, diese Antwort beizubehalten - als Warnung an zukünftige Zuschauer dieser Frage. VERWENDEN SIE NICHT SUBLIME TEXT 2! es scheint für die meisten Benutzer nicht gut zu sein.
Gardenofwine