Texteditor zum Öffnen großer (riesiger, riesiger, großer) Textdateien [geschlossen]

1023

Ich meine 100+ MB groß; Solche Textdateien können den Umschlag von Redakteuren verschieben.

Ich muss eine große XML-Datei durchsuchen, kann es aber nicht, wenn der Editor fehlerhaft ist.

Irgendwelche Vorschläge?

Dave Jarvis
quelle
166
Tatsächlich sind Textdateien mit mehr als 100 MB oder sogar mehr als 1 GB nicht so ungewöhnlich, wie Sie vielleicht denken (dh Protokolldateien von ausgelasteten Servern).
Anders Sandvig
15
Sneakyness: Und nicht genau Text. Ich denke, die Anforderungen beim Lesen von Textdateien und beim Lesen von Binärdateien unterscheiden sich etwas. Sie können es jedoch über base64 oder uuencode weitergeben.
Joey
2
Dies sollte mindestens eine ähnliche Frage sein oder sogar verlinkt sein, wie sie 18 Monate zuvor gestellt wurde ... stackoverflow.com/questions/102829/…
ONDEV
1
Ich habe auch nach der Antwort auf diese genaue Frage gesucht, um einige riesige Protokolldateien zu lesen, die ich generiert habe!
HorseloverFat
1
@BlairHippo Ich fühle mich genauso, ich bin fast nervös, wenn ich eine Frage stelle, weil die Chancen hoch sind, dass jemand sagt "Schließe das, es sollte stattdessen in WhateverExchange gehen"
Rodolfo

Antworten:

1386

Kostenlose schreibgeschützte Zuschauer:

  • Large Text File Viewer (Windows) - Vollständig anpassbares Thema (Farben, Schriftarten, Zeilenumbruch, Tabulatorgröße). Unterstützt horizontale und vertikale geteilte Ansicht. Unterstützt auch das Folgen von Dateien und die Regex-Suche. Sehr schnell, einfach und hat eine kleine ausführbare Größe.
  • klogg (Windows, macOS, Linux) - Eine gepflegte Gabelung von glogg , deren Hauptmerkmal die Suche nach regulären Ausdrücken ist. Es kann auch Dateien überwachen, dem Benutzer das Markieren von Linien ermöglichen und verfügt über integrierte ernsthafte Optimierungen. Vom Standpunkt der Benutzeroberfläche aus ist es jedoch hässlich und klobig.
  • LogExpert (Windows) - "Ein GUI-Ersatz fürtail." Es ist wirklich ein Protokolldateianalysator, kein Viewer für große Dateien, und in einem Test waren 10 Sekunden und 700 MB RAM erforderlich, um eine 250-MB-Datei zu laden. Die wichtigsten Funktionen sind jedoch der Columnizer (Analyseprotokolle in CSV, JSONL usw., die in einem Tabellenformat angezeigt werden) und der Textmarker (Linien mit bestimmten Wörtern in bestimmten Farben anzeigen). Unterstützt auch Dateiverfolgung, Registerkarten, Multifiles, Lesezeichen, Suche, Plugins und externe Tools.
  • Lister (Windows) - Sehr klein und minimalistisch. Es ist eine ausführbare Datei mit knapp 500 KB, unterstützt jedoch weiterhin die Suche (mit regulären Ausdrücken), das Drucken, einen Hex-Editor-Modus und Einstellungen.
  • loxx (Windows) - Unterstützt das Folgen von Dateien, Hervorheben, Zeilennummern, große Dateien, Regex, mehrere Dateien und Ansichten und vieles mehr. Die kostenlose Version kann nicht: Regex verarbeiten, Dateien filtern, Zeitstempel synchronisieren und geänderte Dateien speichern.

Kostenlose Redakteure:

  • Ihr regulärer Editor oder Ihre IDE. Moderne Editoren können überraschend große Dateien verarbeiten. Insbesondere Vim (Windows, MacOS, Linux), Emacs (Windows, MacOS, Linux), Notepad ++ (Windows), Sublime Text (Windows, MacOS, Linux) und VS-Code (Windows, MacOS, Linux) unterstützen große (~ 4 GB) Dateien, vorausgesetzt, Sie haben den RAM.
  • Large File Editor (Windows) - Öffnet und bearbeitet TB + -Dateien, unterstützt Unicode, benötigt wenig Speicher, verfügt über XML-spezifische Funktionen und enthält einen Binärmodus.
  • GigaEdit (Windows) - Unterstützt die Suche, Zeichenstatistik und Anpassung von Schriftarten. Aber es ist fehlerhaft - bei großen Dateien können nur Zeichen überschrieben und nicht eingefügt werden. es respektiert LF nicht als Leitungsterminator, sondern nur CRLF; und es ist langsam.

Eingebaute Programme (keine Installation erforderlich):

  • less (macOS, Linux) - Das traditionelle Unix-Befehlszeilen-Pager-Tool. Ermöglicht das Anzeigen von Textdateien praktisch jeder Größe. Kann auch unter Windows installiert werden.
  • Editor (Windows) - Ordentlich bei großen Dateien, insbesondere bei deaktiviertem Zeilenumbruch.
  • MEHR (Windows) - Dies bezieht sich auf WindowsMORE, nicht auf Unixmore. Ein Konsolenprogramm, mit dem Sie eine Datei bildschirmweise anzeigen können.

Web-Viewer:

  • readfileonline.com - Ein weiterer HTML5-Viewer für große Dateien. Unterstützt die Suche.

Bezahlte Redakteure:

  • 010 Editor (Windows, MacOS, Linux) - Öffnet riesige Dateien (bis zu 50 GB).
  • SlickEdit (Windows, MacOS, Linux) - Öffnet große Dateien.
  • UltraEdit (Windows, macOS, Linux) - Öffnet Dateien mit mehr als 6 GB. Die Konfiguration muss jedoch geändert werden, damit dies praktikabel ist: Menü »Erweitert» Konfiguration »Dateiverwaltung» Temporäre Dateien »Datei ohne temporäre Datei öffnen ...
  • EmEditor (Windows) - Behandelt sehr große Textdateien gut (offiziell bis zu 248 GB, laut einem Bericht jedoch bis zu 900 GB).
MultiplyByZer0
quelle
60
VIM oder Emacs ... wählen Sie Ihr Gift aus, beide verarbeiten alle Dateien, die Sie auf sie werfen. Ich persönlich bevorzuge Emacs, aber beide werden den Notizblock ohne Schluckauf schlagen.
Mike Stone
25
Emacs hat eine maximale Puffergröße, abhängig von der zugrunde liegenden Architektur (32 oder 64 Bit). Ich denke, dass auf 32-Bit-Systemen bei Dateien mit mehr als 128 MB der Fehler "Maximale Puffergröße überschritten" angezeigt wird.
Rafał Dowgird
82
Ich habe gerade Notepad ++ mit einer 561 MB großen Protokolldatei ausprobiert und es wurde gesagt, dass es zu groß ist
Barfoon
9
@ Rafal Interessant! Sieht aus wie auf 64bit ist es ~ 1024 Petabyte. Der Grund hat mit der Tatsache zu tun, dass Emacs Pufferpositionen (wie den Punkt)
verfolgen muss
79
Aber seien Sie vorsichtig, vim funktioniert nur, solange die betreffenden Dateien genügend Zeilenumbrüche haben. Ich musste einmal eine ca. bearbeiten. 150 MB Datei ohne Zeilenumbrüche und musste auf gedit zurückgreifen, da vim damit nicht umgehen konnte.
Benno
192

Tipps und Tricks

weniger

Warum verwenden Sie Editoren, um nur eine (große) Datei anzusehen ?

Verwenden Sie unter * nix oder Cygwin einfach weniger . (Es gibt ein berühmtes Sprichwort - "weniger ist mehr, mehr oder weniger" -, weil "weniger" den früheren Unix-Befehl "mehr" durch den Zusatz ersetzt hat, den Sie nach oben scrollen können.) Das Suchen und Navigieren unter weniger ist sehr ähnlich Vim, aber es wird keine Auslagerungsdatei und wenig RAM verwendet.

Es gibt einen Win32-Port von GNU weniger. Siehe den Abschnitt "weniger" der obigen Antwort.

Perl

Perl eignet sich gut für schnelle Skripte, und sein ..Operator (Range Flip-Flop) bietet einen nützlichen Auswahlmechanismus, um den Durchlauf zu begrenzen, durch den Sie waten müssen.

Zum Beispiel:

$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less

Dadurch wird alles von Zeile 1 Million bis Zeile 2 Millionen extrahiert, und Sie können die Ausgabe manuell in weniger sichten.

Ein anderes Beispiel:

$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less

Dies beginnt zu drucken, wenn der "reguläre Ausdruck eins" etwas findet, und hört auf, wenn der "reguläre Ausdruck zwei" das Ende eines interessanten Blocks findet. Es können mehrere Blöcke gefunden werden. Sieben Sie die Ausgabe ...

logparser

Dies ist ein weiteres nützliches Tool, das Sie verwenden können. Um den Wikipedia-Artikel zu zitieren :

logparser ist ein flexibles Befehlszeilenprogramm, das ursprünglich von Gabriele Giuseppini, einer Microsoft-Mitarbeiterin, geschrieben wurde, um Tests für die IIS-Protokollierung zu automatisieren. Es war für die Verwendung mit dem Windows-Betriebssystem vorgesehen und in den IIS 6.0 Resource Kit-Tools enthalten. Das Standardverhalten von logparser funktioniert wie eine "Datenverarbeitungspipeline", indem ein SQL-Ausdruck in die Befehlszeile übernommen und die Zeilen ausgegeben werden, die Übereinstimmungen für den SQL-Ausdruck enthalten.

Microsoft beschreibt Logparser als ein leistungsstarkes, vielseitiges Tool, das universellen Abfragezugriff auf textbasierte Daten wie Protokolldateien, XML-Dateien und CSV-Dateien sowie auf wichtige Datenquellen des Windows-Betriebssystems wie das Ereignisprotokoll und die Registrierung bietet. das Dateisystem und Active Directory. Die Ergebnisse der Eingabeabfrage können in einer textbasierten Ausgabe benutzerdefiniert formatiert oder für speziellere Ziele wie SQL, SYSLOG oder ein Diagramm beibehalten werden.

Anwendungsbeispiel:

C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line > 1000 and line < 2000"
C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line like '%pattern%'"

Die Relativität von Größen

100 MB sind nicht zu groß. 3 GB werden ziemlich groß. Ich habe in einer Druck- und Posteinrichtung gearbeitet, in der etwa 2% der erstklassigen US-Post erstellt wurden. Eines der Systeme, für das ich der technische Leiter war, machte etwa 15 +% der Poststücke aus. Wir hatten hier und da einige große Dateien zum Debuggen.

Und mehr...

Fühlen Sie sich frei, hier weitere Tools und Informationen hinzuzufügen. Diese Antwort ist aus einem bestimmten Grund ein Community-Wiki! Wir alle brauchen mehr Ratschläge zum Umgang mit großen Datenmengen ...

MultiplyByZer0
quelle
8
+1, ich hatte kürzlich einige wirklich riesige XML-Dateien (+1 Gigabyte), die ich mir ansehen musste. Ich bin unter Windows und sowohl Vim, Emacs, Notepad ++ als auch einige andere Editoren sind vollständig an der Datei erstickt, bis mein System beim Versuch, die Datei zu öffnen, fast unbrauchbar wurde. Nach einer Weile wurde mir klar, wie unnötig es war, tatsächlich zu versuchen, die Datei in einem Editor zu öffnen, wenn ich sie nur anzeigen musste. Mit Cygwin (und etwas cleverem grep / less / sed-magic) fand ich leicht den Teil, an dem ich interessiert war, und konnte ihn problemlos lesen.
Wasatz
8
Sie brauchen Cygwin nicht für weniger, Sie können es auch unter Windows verwenden: gnuwin32.sourceforge.net/packages/less.htm
ChristophK
2
Dieser XML-Editor verfügt auch über eine große Datei-Viewer-Komponente und bietet Syntaxfarben auch für große Dateien. Die Dateien werden nicht vollständig in den Speicher geladen, sodass ein Dokument mit mehreren GB kein Problem darstellen sollte. Darüber hinaus kann dieses Tool auch diese großen XML-Dokumente validieren ... Meiner Meinung nach einer der besten Ansätze, um mit riesigen XML-Daten zu arbeiten.
Lichtfusion
9
OK, also habe ich gerade mein eigenes Problem behoben. lessmit Zeilenumbruch ist langsam. less -Sohne Zeilenumbruch ist auch in großen Zeilen blitzschnell. Ich bin wieder glücklich!
Andy Brown
6
Gute Antwort. Ich möchte darauf hinweisen, dass wenn Sie Git für Windows installiert haben, Sie wahrscheinlich auch Git Bash haben, einschließlich less.
Transistor1