Abra o arquivo massivo no Mac?

14

Estou procurando abrir um arquivo de texto massivo no meu mac. O arquivo é um pouco mais de 10Gigs. Não vou entrar em como foi criado ou o que é usado, já que não é relevante para a questão.

Existe algum programa mac que me permita abrir um arquivo tão grande, ou talvez dividi-lo em pedaços (digamos 200mb ou algo assim cada), o que seria mais fácil de abrir individualmente.

Eu não preciso necessariamente editá-lo, apenas ver partes dele. Tudo o que eu tentei, Textmate, Vim etc etc todos (compreensivelmente) crap fora ou demorar uma eternidade para carregar.

Eu também executo o Windows e o Linux, mas mover um arquivo tão grande não é fácil. Atualmente, ele reside no meu Mac e eu prefiro não ter o incômodo de movê-lo.

    
por Chris Salij 28.08.2010 / 17:57

5 respostas

16

split pode fazer isso -

 split -b 200m [file]

dividirá o arquivo em blocos de 200MB. Você pode dividir em linhas com -l

 split -l 1000 [file]

dividirá o arquivo em 1.000 blocos de linhas.

Se isso não funcionar, existe um editor hexadecimal muito bom para Mac, Hex Fiend que pode abrir arquivos massivos:

Work with huge files. Hex Fiend can handle as big a file as you’re able to create. It’s been tested on files as large as 118 GB.

Espero que ajude!

    
por 28.08.2010 / 18:52
3

Você já tentou alguma das seguintes ferramentas de linha de comando:

  • sed ou awk : editores de fluxo, mas estes podem, por vezes, exigir expressões para obter o resultado desejado
  • split : divide os arquivos em blocos de determinado número de bytes, linhas, etc.
  • csplit : divide o arquivo com base no contexto fornecido pela expressão regular

Um dos split ou csplit pode fazer o trabalho, dependendo de como eles gerenciam o uso da memória. Confira esta página para mais informações sobre split e csplit .

Para obter ainda mais informações sobre essas ferramentas, tente seu mecanismo de pesquisa favorito ou digite man <cmd-name> na linha de comando no Terminal.

Se você puder fornecer mais contexto sobre como deseja dividir os arquivos, tenho certeza de que alguém com conhecimento especializado de sed / awk ou expressões regulares pode ajudar.

    
por 28.08.2010 / 18:34
2

Eu recomendaria verificar HexFiend - enquanto também um editor hexadecimal ele lê o arquivo diretamente do disco rígido e não o faz t tente carregá-lo na memória como a maioria dos outros editores de texto. Se você quiser ocultar a parte hexadecimal, desmarque "Hexadecimal" no menu Exibir.

    
por 28.08.2010 / 20:05
2

Outra opção seria usar os comandos internos head e tail .

Para obter as primeiras 1000 linhas:

head -1000 hugefile

Para obter as últimas 1000 linhas:

tail -1000 hugefile

Ou para obter linhas de 1.000.000 a 1.001.000:

head -1001000 hugefile | tail -1000

Isso pode levar bastante tempo.

    
por 28.08.2010 / 20:29
0

Eu preciso que meu trabalho exiba arquivos de texto enormes e tenha procurado anos em todas as alternativas, embora apenas no Windows.

O único editor de texto que eu já encontrei que poderia trabalhar eficientemente em arquivos enormes é V - O Visualizador de Arquivos .

Embora seja comercial, custa US $ 20 se você precisar editar esses arquivos com frequência.
Se você precisar visualizar apenas um arquivo específico, ele terá uma versão de avaliação totalmente funcional.

A transferência de 10 GB pela rede para uma máquina Windows não deve ser insuportavelmente lenta.

    
por 28.08.2010 / 20:17