Editor di testo per aprire file di testo grandi (giganti, enormi, grandi) [chiuso]


1023

Voglio dire 100+ MB di grandi dimensioni; tali file di testo possono spingere la busta degli editor.

Devo cercare un file XML di grandi dimensioni, ma non posso farlo se l'editor è difettoso.

Eventuali suggerimenti?


166
In realtà, i file di testo di oltre 100 MB o anche 1+ GB non sono così rari come si potrebbe pensare (ad esempio file di registro da server occupati).
Anders Sandvig,

15
Sneakyness: e non esattamente il testo. Penso che i requisiti di lettura dei file di testo e della lettura dei file binari differiscano in qualche modo. Tuttavia, potresti passarlo attraverso base64 o uuencode.
Joey,

2
Questo dovrebbe essere almeno una domanda simile o addirittura legata come è stato chiesto 18 mesi prima ... stackoverflow.com/questions/102829/...
ONDEV

1
Stavo anche cercando la risposta a questa domanda esatta per leggere alcuni enormi file di registro che ho generato!
Horselover Grasso

1
@BlairHippo Mi sento allo stesso modo, sono quasi nervoso quando faccio una domanda perché le probabilità sono alte che qualcuno dirà "Chiudi questo, invece dovrebbe andare in qualunque scambio"
Rodolfo

Risposte:


1387

Visualizzatori di sola lettura gratuiti:

  • Visualizzatore di file di testo di grandi dimensioni (Windows): temi completamente personalizzabili (colori, caratteri, a capo automatico, dimensioni della scheda). Supporta la vista divisa orizzontale e verticale. Supporta anche la ricerca di file e regex. Molto veloce, semplice e con dimensioni eseguibili ridotte.
  • klogg (Windows, macOS, Linux) - Un fork di glogg mantenuto, la sua caratteristica principale è la ricerca di espressioni regolari. Può anche guardare i file, consente all'utente di contrassegnare le linee e ha delle ottimizzazioni integrate. Ma dal punto di vista dell'interfaccia utente, è brutto e goffo.
  • LogExpert (Windows) - "Una sostituzione della GUI pertail." È davvero un analizzatore di file di registro, non un visualizzatore di file di grandi dimensioni, e in un test sono stati necessari 10 secondi e 700 MB di RAM per caricare un file da 250 MB. Ma le sue caratteristiche killer sono il columnizer (log di analisi che sono in formato CSV, JSONL, ecc. E visualizzati in un foglio di calcolo) e l'evidenziatore (mostra le linee con determinate parole in determinati colori). Supporta anche seguenti file, schede, multifile, segnalibri, ricerca, plugin e strumenti esterni.
  • Lister (Windows) - Molto piccolo e minimalista. È un eseguibile, appena 500 KB, ma supporta ancora la ricerca (con regex), la stampa, una modalità editor esadecimale e le impostazioni.
  • loxx (Windows) - Supporta il seguito di file, l'evidenziazione, i numeri di riga, i file di grandi dimensioni, regex, più file e visualizzazioni e molto altro. La versione gratuita non può: elaborare regex, filtrare i file, sincronizzare i timestamp e salvare i file modificati.

Editor gratuiti:

  • Il tuo normale editor o IDE. Gli editor moderni possono gestire file sorprendentemente grandi. In particolare, Vim (Windows, macOS, Linux), Emacs (Windows, macOS, Linux), Notepad ++ (Windows), Sublime Text (Windows, macOS, Linux) e VS Code (Windows, macOS, Linux) supportano grandi (~ 4 GB) file, supponendo che tu abbia la RAM.
  • Editor di file di grandi dimensioni (Windows): apre e modifica i file TB +, supporta Unicode, utilizza poca memoria, ha funzionalità specifiche per XML e include una modalità binaria.
  • GigaEdit (Windows) - Supporta la ricerca, le statistiche sui caratteri e la personalizzazione dei caratteri. Ma è difettoso: con file di grandi dimensioni, consente solo di sovrascrivere i caratteri, non di inserirli; non rispetta LF come terminatore di linea, ma solo CRLF; ed è lento.

Programmi integrati (nessuna installazione richiesta):

  • less (macOS, Linux) - Il tradizionale strumento cercapersone della riga di comando Unix. Consente di visualizzare file di testo praticamente di qualsiasi dimensione. Può essere installato anche su Windows.
  • Blocco note (Windows) - Decente con file di grandi dimensioni, in particolare con la parola a capo disattivata.
  • ALTRO (Windows): si riferisce a WindowsMORE, non a Unixmore. Un programma console che consente di visualizzare un file, una schermata alla volta.

Visualizzatori Web:

  • readfileonline.com - Un altro visualizzatore di file di grandi dimensioni HTML5. Supporta la ricerca.

Editor a pagamento:

  • 010 Editor (Windows, macOS, Linux) - Apre file giganti (fino a 50 GB).
  • SlickEdit (Windows, macOS, Linux) - Apre file di grandi dimensioni.
  • UltraEdit (Windows, macOS, Linux) - Apre file di oltre 6 GB, ma la configurazione deve essere modificata per essere pratica: Menu »Avanzate» Configurazione »Gestione file» File temporanei »Apri file senza file temporaneo ...
  • EmEditor (Windows) - Gestisce bene file di testo di grandi dimensioni (ufficialmente fino a 248 GB, ma fino a 900 GB secondo un rapporto).

60
VIM, o Emacs ... scegli il tuo veleno, entrambi gestiranno tutti i file che gli lanci. Personalmente preferisco Emacs, ma entrambi batteranno il blocco note senza nemmeno un singhiozzo.
Mike Stone,

25
Emacs ha una dimensione massima del buffer, dipendente dall'architettura sottostante (32 o 64 bit). Penso che sui sistemi a 32 bit si ottenga un errore di "dimensione massima del buffer superata" su file di dimensioni superiori a 128 MB.
Rafał Dowgird,

82
Ho appena provato Notepad ++ con un file di registro di 561 MB e mi ha detto che era troppo grande
barfoon

9
@Rafal Interessante! Sembra che a 64 bit sia ~ 1024 petabyte. Il motivo ha a che fare con il fatto che emacs deve tenere traccia delle posizioni del buffer (come il punto)
baudtack,

79
Ma fai attenzione, vim funzionerà solo finché i file in questione avranno abbastanza interruzioni di riga. Una volta ho dovuto modificare un ca. 150 MB di file senza interruzioni di riga e ho dovuto ricorrere a gedit perché vim non è riuscito a gestirlo.
Benno,

192

Suggerimenti e trucchi

Di meno

Perché stai usando gli editor per guardare un file (di grandi dimensioni)?

Sotto * nix o Cygwin , basta usare meno . (C'è un famoso detto - "less is more, more or less" - perché "less" ha sostituito il precedente comando Unix "more", con l'aggiunta che è possibile scorrere indietro.) La ricerca e la navigazione in less è molto simile a Vim, ma non ci sono file di swap e poca RAM utilizzata.

C'è una porta Win32 di GNU in meno. Vedi la sezione "meno" della risposta sopra.

Perl

Perl è buono per gli script rapidi e il suo ..operatore (range flip-flop) costituisce un buon meccanismo di selezione per limitare il greggio che devi superare.

Per esempio:

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

Ciò estrarrà tutto dalla riga 1 milione alla riga 2 milioni e consentirà di setacciare manualmente l'output in meno.

Un altro esempio:

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

Questo inizia a stampare quando la "espressione regolare una" trova qualcosa e si ferma quando la "espressione regolare due" trova la fine di un blocco interessante. Potrebbe trovare più blocchi. Setaccia l'output ...

LogParser

Questo è un altro strumento utile che puoi usare. Per citare l'articolo di Wikipedia :

logparser è un'utilità a riga di comando flessibile inizialmente scritta da Gabriele Giuseppini, un dipendente Microsoft, per automatizzare i test per la registrazione IIS. È stato progettato per l'uso con il sistema operativo Windows ed è stato incluso con gli strumenti IIS 6.0 Resource Kit. Il comportamento predefinito di logparser funziona come una "pipeline di elaborazione dati", prendendo un'espressione SQL sulla riga di comando e producendo le righe contenenti corrispondenze per l'espressione SQL.

Microsoft descrive Logparser come uno strumento potente e versatile che fornisce accesso universale alle query a dati basati su testo come file di registro, file XML e file CSV, nonché fonti di dati chiave sul sistema operativo Windows come Registro eventi, Registro, il file system e Active Directory. I risultati della query di input possono essere formattati in modo personalizzato nell'output basato su testo oppure possono essere mantenuti su più destinazioni speciali come SQL, SYSLOG o un grafico.

Esempio di utilizzo:

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%'"

La relatività delle dimensioni

100 MB non sono troppo grandi. 3 GB stanno diventando grandi. Lavoravo in una struttura di stampa e posta che creava circa il 2% della posta di prima classe degli Stati Uniti. Uno dei sistemi di cui ero il capo tecnico rappresentava circa il 15% in più delle lettere. Avevamo alcuni file di grandi dimensioni per il debug qua e là.

E altro ...

Sentiti libero di aggiungere più strumenti e informazioni qui. Questa risposta è wiki della community per un motivo! Tutti abbiamo bisogno di maggiori consigli su come gestire grandi quantità di dati ...


8
+1, di recente ho avuto alcuni file xml davvero enormi (+1 gigabyte) che dovevo guardare. Sono su Windows e sia Vim, Emacs, Notepad ++ e molti altri editor sono completamente soffocati sul file al punto in cui il mio sistema è diventato quasi inutilizzabile quando provo ad aprire il file. Dopo un po 'mi sono reso conto di quanto fosse inutile tentare effettivamente di aprire il file in un editor, quando avevo solo bisogno di visualizzarlo. Usando cygwin (e un po 'di grep / less / sed-magic intelligente) ho trovato facilmente la parte che mi interessava e potevo leggerla senza problemi.
wasatz,

8
non hai bisogno di cygwin per meno, puoi anche usarlo sotto Windows: gnuwin32.sourceforge.net/packages/less.htm
ChristophK

2
Questo editor XML qui ha anche un grande componente visualizzatore di file e fornisce la colorazione della sintassi anche per file di grandi dimensioni. I file non vengono caricati completamente in memoria, quindi un documento multi-GB non dovrebbe essere un problema. Inoltre questo strumento può anche validare quei grandi documenti XML ... Secondo me uno dei migliori approcci per lavorare con enormi dati XML.
lichtfusion,

9
OK, quindi ho appena risolto il mio problema. lesscon la parola a capo è lento. less -Ssenza la parola a capo è velocissimo anche su grandi linee. Sono di nuovo felice!
Andy Brown,

6
Bella risposta. Voglio notare che se hai installato Git per Windows, probabilmente hai anche Git bash, che include less.
transistor1
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.