Quero dizer mais de 100 MB de tamanho; esses arquivos de texto podem empurrar o envelope dos editores.
Preciso examinar um arquivo XML grande, mas não posso se o editor estiver com erros.
Alguma sugestão?
Quero dizer mais de 100 MB de tamanho; esses arquivos de texto podem empurrar o envelope dos editores.
Preciso examinar um arquivo XML grande, mas não posso se o editor estiver com erros.
Alguma sugestão?
Respostas:
Espectadores somente leitura gratuitos:
tail
." É realmente um analisador de arquivos de log, não um visualizador de arquivos grandes, e em um teste foram necessários 10 segundos e 700 MB de RAM para carregar um arquivo de 250 MB. Mas seus principais recursos são o colunizador (logs de análise que estão em CSV, JSONL etc. e exibidos em formato de planilha) e o marca-texto (mostra linhas com determinadas palavras em determinadas cores). Também oferece suporte a arquivos a seguir, guias, arquivos múltiplos, favoritos, pesquisa, plug-ins e ferramentas externas.Editores gratuitos:
Programas incorporados (não requer instalação):
MORE
, não ao Unixmore
. Um programa de console que permite visualizar um arquivo, uma tela de cada vez.Visualizadores da Web:
Editores pagos:
Por que você está usando editores para apenas olhar para um arquivo (grande)?
Sob * nix ou Cygwin , use apenas menos . (Existe um ditado famoso - "menos é mais, mais ou menos" - porque "menos" substituiu o comando anterior do Unix "mais", com a adição de que você poderia rolar para trás.) Pesquisando e navegando sob menos é muito semelhante a Vim, mas não há arquivo de troca e pouca RAM usada.
Há uma porta Win32 do GNU menos. Veja a seção "menos" da resposta acima.
O Perl é bom para scripts rápidos, e seu ..
operador (range flip-flop) cria um bom mecanismo de seleção para limitar o problema que você precisa percorrer.
Por exemplo:
$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less
Isso extrairá tudo da linha 1 milhão à linha 2 milhões e permitirá que você peneire a saída manualmente em menos.
Outro exemplo:
$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less
Isso começa a ser impresso quando a "expressão regular um" encontra alguma coisa e para quando a "expressão regular dois" encontra o fim de um bloco interessante. Pode encontrar vários blocos. Peneire a saída ...
Essa é outra ferramenta útil que você pode usar. Para citar o artigo da Wikipedia :
logparser é um utilitário de linha de comando flexível que foi inicialmente escrito por Gabriele Giuseppini, funcionário da Microsoft, para automatizar testes para o log do IIS. Ele foi projetado para uso com o sistema operacional Windows e foi incluído nas Ferramentas do IIS 6.0 Resource Kit. O comportamento padrão do logparser funciona como um "pipeline de processamento de dados", pegando uma expressão SQL na linha de comando e produzindo as linhas que contêm correspondências para a expressão SQL.
A Microsoft descreve o Logparser como uma ferramenta versátil e poderosa que fornece acesso universal à consulta de dados baseados em texto, como arquivos de log, arquivos XML e arquivos CSV, além de fontes de dados importantes no sistema operacional Windows, como o Log de Eventos, o Registro, o sistema de arquivos e o Active Directory. Os resultados da consulta de entrada podem ser formatados de forma personalizada na saída baseada em texto ou podem ser persistidos em mais destinos especiais, como SQL, SYSLOG ou um gráfico.
Exemplo de uso:
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%'"
100 MB não é muito grande. 3 GB está ficando meio grande. Eu trabalhava em uma instalação de impressão e correio que criava cerca de 2% do correio de primeira classe nos EUA. Um dos sistemas pelos quais eu era o líder técnico representava cerca de 15% + dos itens de correspondência. Tínhamos alguns arquivos grandes para depurar aqui e ali.
Sinta-se livre para adicionar mais ferramentas e informações aqui. Esta resposta é um wiki da comunidade por um motivo! Todos nós precisamos de mais conselhos sobre como lidar com grandes quantidades de dados ...
less
com quebra de linha é lento. less -S
sem quebra de linha é extremamente rápido, mesmo em linhas grandes. Estou feliz de novo!
less
.