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.