Editor de texto para editar arquivos grandes de texto sem formatação (4,3 GB)


87

Existe algum editor de texto que possa editar esse arquivo?

Eu tentei:

  • gedit
  • kate
  • nano
  • vim
  • mcedit

sem sucesso.


8
Você precisa editá-lo ou apenas vê-lo? Neste último caso, você pode simplesmente usar "less" na CLI.
— Shunz

3
@ MrShunz: sim, eu quero editar o arquivo. @Bakhtiyor: a resposta é "sim" :)
— cupakob

2
Eu recomendo editar sua pergunta para mencionar o fato de que você deseja editar o arquivo. Isso faria com que as pessoas não tivessem que pesquisar nos comentários para descobrir sua pergunta e / ou se sua pergunta é semelhante o suficiente à que eles têm.
— 92711 Firefeather

1
Por acaso você está tentando abrir o arquivo base da bomba zip de 42 zip? Eu tive esse problema e eu achei que um programa chamado "010 editor" funcionou bem

Relacionado no Stack Overflow: Trabalhando com arquivos enormes no Linux
— Eliah Kagan

Respostas:


81

Outro método é usar split. Divida o arquivo em 8 partes e manipule os arquivos com um editor. Depois disso, você remonta os arquivos novamente.

split -b 53750k <your-file>

cat xa* > <your-file>


SYNOPSIS
       split [OPTION]... [INPUT [PREFIX]]

-a, --suffix-length=N
              use suffixes of length N (default 2)

       -b, --bytes=SIZE
              put SIZE bytes per output file

       -C, --line-bytes=SIZE
              put at most SIZE bytes of lines per output file

       -d, --numeric-suffixes
              use numeric suffixes instead of alphabetic

       -l, --lines=NUMBER
              put NUMBER lines per output file

parece ser a melhor solução no momento ...
— cupakob

9
Observe que muitos editores adicionam um caractere de nova linha ao final do seu arquivo editado e o fazem sem informar! Para obter mais informações, consulte Como parar o Gedit, Gvim, Vim, Nano de adicionar char de nova linha no final do arquivo? askubuntu.com/q/20871/2670
— Peter.O

maneira legal ... e então você deve usar o vim com as partes únicas ... Eu odeio o vim: P, mas ele vence todos os outros editores aqui
— Postadelmaga

1
@ Peter.O: o link mudou? Estou com dificuldade para encontrar informações sobre o problema de caracteres de nova linha nesse URL. : / Update: Encontre a pergunta referenciada aqui: askubuntu.com/q/13317/372950
— rinogo

3
(Em suma, utilizar nano --nonewlinespara evitar a adição automática de novas linhas)
— rinogo

39

Tente Joe . Eu apenas o usei para editar um arquivo de despejo ~ 5G SQL. Demorou cerca de um minuto para abrir o arquivo e alguns minutos para salvá-lo, com muito pouco uso de swap (em um sistema com 4G RAM).


Isso funcionou bem para mim editar um arquivo xml de 1 GB.
— Digitaljoel 6/03/14

Funciona bem com arquivos de 2GB
— Damir Olejar

Tentei em um arquivo de despejo SQL de 14G, mas falhou com um erro de E / S. (a máquina possui 3 GB de RAM e 3 GB de swap).
— Tehwalrus 17/10/16

1
Uau! 'joe' passa - onde muitos caem!
— 1111161171159459134

deu joe um arquivo de 4.6GB, e nada aconteceu por alguns minutos, então desistiu Hex Fiend abre instantaneamente, mas não parece que você pode editar em que
— balupton

17

você não os encontrará. Se você deseja substituir algumas linhas deste arquivo, pode ver com lessou grep e usar sedpara pesquisar e substituir algumas linhas.

como isso:

sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName

na Wikipedia, existem alguns exemplos úteis: http://en.wikipedia.org/wiki/Sed


3
Ou especialmente com o -isinalizador (no local), para que ele se comporte essencialmente como um editor de texto que substituirá o conteúdo original do arquivo.
— OR Mapper

Não use sed -i; edé para isso que serve.
— fkraiem 13/09/17

14

Experimente, se quiser, mas esses arquivos grandes se tornam impraticáveis ​​se você deseja fazer uma edição "normal"; por exemplo, você não deseja salvar suas edições com muita frequência; vai demorar muito :)

Se é para uma, splite joiniria funcionar muito bem, e é simples o suficiente para cortá-la em pedaços gerenciáveis, e depois juntar os pedaços ... Tome nota que muitos editores irá adicionar um caractere de nova linha ao final do seu editados e faça-o sem informar você! Para obter mais informações, consulte Como parar o Gedit, Gvim, Vim, Nano de adicionar char de nova linha no final do arquivo?

Experimente o Gvim se você realmente deseja editar um arquivo tão grande ... Acabei de carregar um arquivo de 3,9 GB e tudo parece normal ...

Aqui está um link interessante sobre o assunto, no stackoverflow


não funciona com gvim ....
— cupakob

1
@upakob: Agora, ele carregou com êxito um arquivo de 4,5 GB no meu sistema, usando o Gvim ... Demorou 6 minutos para carregar. Você esperou o suficiente? (É isso que eu quero dizer sobre salvar o arquivo. Demorará muito tempo) ... Tente executar iotoppara observar as estatísticas de E / S enquanto ele está sendo carregado. O System Monitor mostra que tenho 3,2 GB de RAM (quais são os enigmas me, como eu tenho 4 GB) ...
— Peter.O

1
@upakob: Tentei 8 GB desta vez e o Gvim o carregou com sucesso ... Então, o Gvim pode "tecnicamente" lidar com arquivos grandes, maiores e talvez até os "MAIORES", mas, mesmo assim, é um pouco "impraticável" (a menos que você seja como eu, esteja preparado para aguardar 41 minutos para carregar 8GB .. :) ... mas acho que não vou me incomodar em fazê-lo novamente .....
— Peter

Você parece ter vinculado a pergunta errada.
— psusi

Você parece ter alterado o primeiro link para ser o mesmo que o segundo, em vez de "como parar o gedit, etc, de adicionar nova linha de final de arquivo".
— Psusi

11

Use glogg - o rápido e inteligente explorador de logs: http://glogg.bonnefon.org/


4
Bem-vindo ao Askubuntu.com! Enquanto o pacote proposto pode resolver o problema, observe que o glogg visa pesquisar arquivos grandes, e não editá-los.
— 22414 Jos

tentei, fica sempre inchado.
— Kais

11

Existe outra maneira muito simples e rápida de substituir o conteúdo em arquivos muito grandes (que funciona em vez de editar grandes despejos mysql)

Antes de tudo, você deve instalar o midnight comander - ótimo gerenciador de arquivos para sistemas linux

sudo apt-get install mc

Depois disso, você pode abrir qualquer arquivo de qualquer tamanho no "modo de visualização" (com atalho F3), alterne para a visualização HEX (atalho F4) e ative o modo de edição (atalho F2).

Por exemplo, eu tinha um despejo de mysql de 3 GB, onde desejo remover alguma linha SQL. Abro o modo de visualização, localizo a string, abro o modo hexadecimal e substituo o conteúdo antes da linha necessária pelo comentário MYSQL (string "-", códigos hexadecimais 2D 2D 20).

Exemplo: mc hex view


2
Meus 5 centavos - o MC falhou ao editar o arquivo de 110 GB, mas foi aberto no modo de exibição.
— Andron

@Andron você ainda pode substituir o conteúdo no modo de visualização
— user10635 10/01

interessante. Você pode descrever como?
— Andron

1
@ Andron bem, eu já descrevi isso na minha resposta. :) Abra o modo de visualização, pressione F4 para hexadecimal e substitua qualquer conteúdo em qualquer arquivo, independentemente do tamanho.
— user10635 12/01

você está certo. Apenas uma observação de que, no meu caso, preciso substituir uma string longa e é por isso que não está bem para mim. Mas sim, em geral, isso é possível.
— Andron 14/01



4

O nediteditor de texto existe há muito tempo e é bastante capaz. Ele pode abrir um arquivo de texto de 1,9 Gb em cerca de 20 segundos. É uma interface gráfica do tipo janelas com todos os recursos padrão de edição de texto que você esperaria, como realce de sintaxe, recuo, numeração de linha e assim por diante.

Se você deseja redimensionar a janela, faça isso antes de abrir o arquivo grande. O motivo X11 é um pouco lento no redimensionamento, mas também é uma solicitação de imposto.

Está em todos os repositórios padrão, então instale com:

sudo apt-get install nedit

É um código aberto GPLv2.

https://sourceforge.net/projects/nedit/

Estou vasculhando arquivos de texto de 30 a 40 Mb e neditlida com eles com facilidade.


3

Você pode abrir o arquivo usando hexedit. No entanto, você só poderá alterar o texto, não adicioná-lo ou removê-lo.


2

De acordo com este artigo da Wikipedia Comparação de editores de texto VIM entre outros. Eu ia sugerir Geany, mas há um? no campo para suporte a arquivos grandes ...

Edição: Eu fui em frente e tentei com geany e desisti depois de esperar 10 minutos com 3 núcleos vinculados e basicamente toda a minha memória (virtual e física) em uso o tempo todo ... Não é conclusivo, pois poderia ter conseguido abri-lo se eu tinha sido mais paciente. Procurei e não encontrei nenhuma configuração / preferência para lidar com arquivos grandes de maneira diferente.

Eu gosto mais da resposta de fred.bear.



1

Chegamos a uma situação em que o arquivo de log acumulou até 6 GB e precisamos pesquisar por data ou sequência. Poucos editores de texto conhecidos podem suportar um arquivo tão grande.

Encontrei o editor JOE, capaz de carregar meu arquivo de 6 GB em 2 minutos e habilitado para explorar o arquivo.

Versão do Windows (sourceforge.net)

Ubuntu (sourceforge.net)


0

Eu trabalho com o NetBeans : é melhor que o Eclipse nesse contexto.

Eu sei que é para desenvolvedores, mas você pode abrir qualquer arquivo de texto sem formatação.


0

O Emacs fará o trabalho (eu editei arquivos 10 + GiB nele antes), mas é aproximadamente tão hostil para o novo usuário quanto o vim, portanto, pode não atender às suas necessidades. A curva de aprendizado é bastante acentuada.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.