↓Salta al contenuto principale
Alemasone

Como abrir ficheiros de texto gigantes sem travar o PC

Logs e CSV com dezenas de GB: porque é que o Notepad++ falha, quais os visualizadores que funcionam e comandos para ler apenas o que precisas.

6 min de leitura Atualizado a
Janela de um visualizador de logs com milhares de linhas de texto e uma barra de pesquisa
Nesta página
Um editor de texto normal carrega todo o ficheiro na memória: com um log de 20 GB, precisarias de 20 GB de RAM e o programa bloqueia. Os visualizadores como Large Text File Viewer e klogg leem apenas a parte que estás a ver; é por isso que abrem ficheiros de qualquer dimensão em poucos segundos.

Antes de escolheres a ferramenta, pergunta-te para que a vais usar. Se precisas de modificar o ficheiro, precisas de um editor, mas este tem de manter tudo sob controlo para poder trabalhar. Se só precisas de ler e pesquisar, como acontece quase sempre com os logs do sistema, um visualizador é muito melhor porque deixa quase tudo no disco.

Porque é que os editores normais bloqueiam #

O Bloco de notas do Windows melhorou bastante, mas continua desenhado para ficheiros pequenos. O Notepad++ aguenta bem até algumas centenas de megabytes e começa a sofrer acima de um gigabyte: a barra de deslocação torna-se lenta, uma pesquisa demora minutos e, por vezes, aparece o erro de memória insuficiente.

Isto não é um defeito do programa. Um editor tem de saber onde começa cada linha para gerir edições, desfazer alterações e a coloração da sintaxe, e toda esta informação fica na memória. Com ficheiros enormes, a memória esgota-se.

Os visualizadores que funcionam #

FerramentaCustoPontos fortes
Large Text File ViewerGratuitoSuper leve, portátil, abre qualquer dimensão instantaneamente
kloggGratuito e open sourceFiltros com expressões regulares, atualização em tempo real
EmEditorPago, com versão de testeAbre e modifica ficheiros enormes, excelente para CSV
GloggGratuitoO antecessor do klogg, ainda funciona mas já não é atualizado

O Large Text File Viewer faz apenas uma coisa e fá-lo muito bem: abre o ficheiro, permite-te navegar e pesquisar, inclusive com expressões regulares. Não modifica nada nem tem funções acessórias. É portátil, por isso não precisa de instalação: extrai o arquivo e executa o programa, mesmo a partir de uma pen USB. Consegue até ler um log enquanto outro programa ainda está a escrever nele.

Janela do Large Text File Viewer com um registo de mais de um gigabyte aberto e em modo de deslocação
Sem menus desnecessários: abres o ficheiro, navegas e pesquisas

O site original do desenvolvedor já não existe e o programa não é atualizado há anos. Podes descarregá-lo através da cópia da página oficial guardada no archive.org e ainda funciona sem problemas no Windows 10 e 11.

O klogg é o melhor se trabalhas com logs. Abre ficheiros de qualquer dimensão e, além disso, permite-te aplicar um filtro com uma expressão regular e ver num painel separado apenas as linhas que correspondem — por exemplo, todas as que contêm ERROR— enquanto o ficheiro continua a crescer.

Janela do klogg dividida entre o registo completo e o painel apenas com as linhas filtradas
O painel inferior mostra apenas as linhas que correspondem ao filtro, com o número de linha original

O EmEditor é o único da lista que também te permite modificar ficheiros de dezenas de gigabytes, e gere CSVs enormes com colunas, ordenações e filtros. É pago, mas se passares os dias a trabalhar com ficheiros deste tipo, o investimento compensa rapidamente.

O filtro do klogg: em vez de percorreres milhões de linhas à procura do problema, filtras por nível de gravidade ou por um código de erro e ficas apenas com as linhas que te interessam. Com um duplo clique numa linha filtrada, saltas para o ponto correspondente no ficheiro completo.

A linha de comandos #

Se só precisas de ver o início ou o fim de um ficheiro, ou pesquisar uma palavra, nem precisas de abrir um programa.

No Windows, com PowerShell:

# Le prime 100 righe
Get-Content registro.log -TotalCount 100

# Le ultime 50 righe
Get-Content registro.log -Tail 50

# Seguire il file mentre cresce
Get-Content registro.log -Wait -Tail 20

# Cercare una parola e contare le occorrenze
Select-String -Path registro.log -Pattern "ERROR" | Measure-Object

No Linux e macOS:

head -n 100 registro.log
tail -n 50 registro.log
tail -f registro.log
grep -c "ERROR" registro.log

Para extrair um trecho e trabalhar nele com calma, por exemplo, da linha 50.000 à 60.000:

sed -n '50000,60000p' registro.log > estratto.log

No Windows podes usar os mesmos comandos instalando o Subsistema Windows para Linux (WSL): se trabalhas nisto todos os dias, é a solução mais prática.

Dividir um ficheiro demasiado grande #

Se precisares de entregar o ficheiro a um programa que não aguenta esse tamanho, divide-o.

No Linux e macOS, em pedaços de um milhão de linhas:

split -l 1000000 registro.log parte_

Com o PowerShell podes ler o ficheiro por blocos e escrever partes dele, mas para CSVs compensa outro caminho: importá-los para uma base de dados leve como SQLite, ou processá-los com um script Python que os leia bloco a bloco.

CSV e folhas de cálculo: O Excel para na linha 1.048.576 e, se o ficheiro tiver mais, ele corta o resto. Para tabelas com milhões de linhas, usa uma base de dados ou um script.

A codificação de caracteres #

Às vezes, ao abrir o ficheiro, em vez das letras acentuadas aparecem símbolos estranhos. É um problema de codificação: o ficheiro utiliza uma tabela de caracteres diferente da que o programa espera.

Os visualizadores permitem-te mudar a codificação na hora. Tenta primeiro UTF-8, o padrão atual, e depois Windows-1252 (ou ISO-8859-1), ainda comum em logs gerados por aplicações antigas.

Perguntas frequentes #

Qual é o limite do Notepad++? #

Não há um limite exato; depende da memória e do conteúdo do ficheiro. Até algumas centenas de megabytes funciona bem; acima de um gigabyte torna-se lento e, perto dos dois gigabytes, surgem erros de memória. Para logs grandes, passa diretamente para um visualizador.

Como abro um ficheiro de texto de 10 GB ou mais? #

Com um visualizador que leia o ficheiro por blocos, como o Large Text File Viewer ou o klogg: abre-se em poucos segundos, independentemente do tamanho. Se só precisares de pesquisar algo, os comandos de terminal vistos acima são ainda mais rápidos.

Posso modificar um ficheiro enorme e não apenas lê-lo? #

Sim, mas as opções são poucas. O EmEditor faz isso diretamente. Como alternativa, extrai a parte que queres corrigir, modifica-a e volta a juntar tudo através da linha de comandos. Em qualquer caso, faz primeiro uma cópia do ficheiro.

Porque é que o ficheiro de log ficou tão grande? #

Normalmente é porque falta a rotação, o mecanismo que, ao atingir um certo tamanho, fecha o ficheiro, o arquiva e abre um novo. No Linux, quem trata disso é o logrotate; no Windows, depende da aplicação que escreve o log. Configurar a rotação evita que te encontres com um ficheiro de 50 GB.

É possível pesquisar num ficheiro enorme sem o abrir? #

Sim, e é o método mais rápido: grep ou Select-String fazem a pesquisa diretamente no ficheiro sem o carregar para a memória. Num log de dezenas de gigabytes demoram segundos, enquanto um programa com interface gráfica demora minutos.

É possível ler ficheiros comprimidos diretamente? #

No Linux e macOS sim, com zcat, zgrep e zless, que descomprimem “on the fly” sem escrever nada no disco. São super práticos para logs arquivados, que normalmente são guardados comprimidos em .gz.

Leia a seguir