1022 Stimmen

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

Ich meine 100+ MB groß; solche Textdateien können den Rahmen der Editoren sprengen.

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

Irgendwelche Vorschläge?

1647voto

Nick Ryberg Punkte 1126

Kostenlose Nur-Lese-Viewer:

  • Betrachter für große Textdateien (Windows) - Vollständig anpassbare Thematisierung (Farben, Schriftarten, Wortumbruch, Tabulatorgröße). Unterstützt horizontal und vertikal geteilte Ansicht. Unterstützt auch Dateiverfolgung und Regex-Suche. Sehr schnell, einfach, und hat eine kleine ausführbare Größe.
  • klogg (Windows, macOS, Linux) - Eine gepflegte Abspaltung von glogg . Sein Hauptmerkmal ist die Suche mit regulären Ausdrücken. Es unterstützt die Überwachung von Dateiänderungen (wie tail ), Lesezeichen, Hervorhebung von Mustern durch verschiedene Farben, und hat ernsthafte Optimierungen eingebaut. Aber von einem UI-Standpunkt aus ist es eher minimal.
  • LogExpert (Windows) - "Ein GUI-Ersatz für tail ." In einem Test benötigte es 10 Sekunden und 700 MB RAM, um eine 250 MB große Datei zu laden. Aber seine Killer-Features sind der Columnizer (analysiert Protokolle im CSV-, JSONL-Format usw. und zeigt sie in einem Tabellenkalkulationsformat an) und der Highlighter (zeigt Zeilen mit bestimmten Wörtern in bestimmten Farben an). Außerdem unterstützt es Dateiverfolgung, Registerkarten, mehrere Dateien, Lesezeichen, Suche, Plugins und externe Tools.
  • Lister (Windows) - Sehr klein und minimalistisch. Es ist eine einzige ausführbare Datei, kaum 500 KB, aber es unterstützt dennoch die Suche (mit Regexen), das Drucken, einen Hex-Editor-Modus und Einstellungen.

Freie Redakteure:

  • Ihr regulärer Editor oder IDE. Moderne Editoren können erstaunlich große Dateien bearbeiten. Im Besonderen, Vim (Windows, macOS, Linux), Emacs (Windows, macOS, Linux), Notepad++ (Windows), Erhabener Text (Windows, macOS, Linux), und VS-Code (Windows, macOS, Linux) unterstützen große Dateien (~4 GB), vorausgesetzt, Sie haben den nötigen Arbeitsspeicher.
  • Editor für große Dateien (Windows) - Öffnet und bearbeitet TB+ Dateien, unterstützt Unicode, verbraucht wenig Speicher, hat XML-spezifische Funktionen und enthält einen Binärmodus.
  • GigaEdit (Windows) - Unterstützt die Suche, Zeichenstatistiken und die Anpassung der Schriftart. Aber es ist fehlerhaft - bei großen Dateien erlaubt es nur das Überschreiben von Zeichen, nicht das Einfügen; es respektiert nicht LF als Zeilenende, nur CRLF; und es ist langsam.

Integrierte Programme (keine Installation erforderlich):

  • weniger (macOS, Linux) - Das traditionelle Unix-Befehlszeilen-Pager-Tool. Ermöglicht die Anzeige von Textdateien praktisch jeder Größe. Kann auch unter Windows installiert werden.
  • Notizblock (Windows) - Anständig bei großen Dateien, besonders wenn der Zeilenumbruch ausgeschaltet ist.
  • MEHR (Windows) - Dies bezieht sich auf die Windows MORE und nicht das Unix more . Ein Konsolenprogramm, mit dem Sie eine Datei Bildschirm für Bildschirm anzeigen können.

Web-Zuschauer:

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

Bezahlte Redakteure/Zuschauer:

  • 010 Herausgeber (Windows, macOS, Linux) - Öffnet riesige (bis zu 50 GB große) Dateien.
  • SlickEdit (Windows, macOS, Linux) - Öffnet große Dateien.
  • UltraEdit (Windows, macOS, Linux) - Öffnet Dateien mit mehr als 6 GB, aber die Konfiguration muss geändert werden, damit dies praktisch ist: Menü " Erweitert " Konfiguration " Dateiverwaltung " Temporäre Dateien " Datei ohne temporäre Datei öffnen...
  • EmEditor (Windows) - Verarbeitet sehr große Textdateien problemlos (offiziell bis zu 248 GB, aber einem Bericht zufolge sogar bis zu 900 GB).
  • BssEditor (Windows) - Bearbeitet große Dateien und sehr lange Zeilen. Benötigt keine Installation. Kostenlos für nicht kommerzielle Nutzung.
  • loxx (Windows) - Unterstützt Dateiverfolgung, Hervorhebung, 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.

215voto

Roboprog Punkte 2954

Tipps und Tricks

weniger

Warum verwenden Sie Herausgeber um einfach siehe bei einer (großen) Datei?

Unter *nix oder Cygwin verwenden Sie einfach weniger . (Es gibt ein berühmtes Sprichwort - "weniger ist mehr, mehr oder weniger" - weil "less" den früheren Unix-Befehl "more" ersetzte, mit dem Zusatz, dass man wieder nach oben scrollen konnte.) Das Suchen und Navigieren unter less ist dem von Vim sehr ähnlich, aber es gibt keine Auslagerungsdatei und es wird nur wenig RAM verwendet.

Es gibt eine Win32-Portierung von GNU less. Siehe den Abschnitt "less" in der obigen Antwort.

Perl

Perl ist gut für schnelle Skripte, und seine .. (Bereichsflipflop) ist ein guter Auswahlmechanismus, um die Menge des Materials zu begrenzen, durch das man sich wühlen muss.

Zum Beispiel:

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

Dadurch wird alles von Zeile 1 Mio. bis Zeile 2 Mio. extrahiert, und Sie können die Ausgabe in weniger Zeit manuell durchsieben.

Ein weiteres Beispiel:

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

Der Druck beginnt, 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. Sichten Sie die Ausgabe...

logparser

Dies ist ein weiteres nützliches Instrument, das Sie verwenden können. Zum Zitat der Wikipedia-Artikel :

logparser ist ein flexibles Befehlszeilenprogramm, das ursprünglich von Gabriele Giuseppini, einem Microsoft-Mitarbeiter, geschrieben wurde, um Tests für die IIS-Protokollierung zu automatisieren. Es war für die Verwendung mit dem Windows-Betriebssystem gedacht und war in den IIS 6.0 Resource Kit Tools enthalten. Das Standardverhalten von logparser funktioniert wie eine "Datenverarbeitungspipeline", indem es einen SQL-Ausdruck auf der Befehlszeile entgegennimmt und die Zeilen ausgibt, die Übereinstimmungen mit dem SQL-Ausdruck enthalten.

Microsoft beschreibt Logparser als ein leistungsfähiges, 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, die Registrierung, das Dateisystem und Active Directory bietet. Die Ergebnisse der Eingabeabfrage können in der textbasierten Ausgabe benutzerdefiniert formatiert werden, oder sie können in spezielleren Zielen wie SQL, SYSLOG oder einem Diagramm persistiert werden.

Beispiel für die Verwendung:

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 der Größen

100 MB sind nicht zu groß. 3 GB sind schon ziemlich groß. Ich habe früher in einer Druck- und Posteinrichtung gearbeitet, die etwa 2 % der US-Postsendungen erster Klasse erstellte. Eines der Systeme, für das ich die technische Leitung innehatte, war für mehr als 15 % der Poststücke verantwortlich. Wir hatten hier und da einige große Dateien zu debuggen.

Und mehr...

Sie können hier gerne weitere Tools und Informationen hinzufügen. Diese Antwort ist nicht ohne Grund ein Community-Wiki! Wir alle brauchen mehr Ratschläge für den Umgang mit großen Datenmengen...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X