Aprire file di grandi dimensioni su Mac?


14

Sto cercando di aprire un enorme file di testo sul mio mac. Il file ha poco più di 10 GB. Non entrerò nel modo in cui è stato creato o come viene utilizzato, dal momento che non è realmente rilevante per la domanda.

Esistono programmi Mac che mi permetteranno di aprire un file così massiccio o forse di suddividerlo in blocchi (diciamo 200mb o qualcosa del genere) che sarebbe più facile da aprire individualmente.

Non ho necessariamente bisogno di modificarlo, basta visualizzarne parti. Tutto ciò che ho provato, Textmate, Vim ecc ecc. Tutti (comprensibilmente) fanno schifo o impiegano un'eternità a caricarsi.

Gestisco anche Windows e Linux, ma spostare un file così grande non è facile. Attualmente risiede sul mio Mac e preferirei non avere il fastidio di spostarlo.


Simile a superuser.com/questions/138474/… , ma questa domanda accetta anche un'alternativa per dividere il file
Doug Harris,

Risposte:


16

split può farlo -

 split -b 200m [file]

suddividerà il file in blocchi da 200 MB. Puoi dividere su linee con -l

 split -l 1000 [file]

suddividerà il file in blocchi di 1000 righe.

Se ciò non funziona, esiste un editor esadecimale davvero buono per Mac, Hex Fiend che può aprire file di grandi dimensioni:

Lavora con file di grandi dimensioni. Hex Fiend è in grado di gestire file di dimensioni pari a quelle che è possibile creare. È stato testato su file grandi quanto 118 GB.

Spero possa aiutare!


È Unix, quindi deve funzionare. :)
maaartinus,

1
Hex Friend è semplicemente fantastico !! Grazie mille per la menzione
lukaswelte,

3

Hai provato uno dei seguenti strumenti da riga di comando:

  • sedoppure awk: stream editor, ma a volte possono richiedere espressioni complesse per ottenere l'output desiderato
  • split: suddivide i file in blocchi di un determinato numero di byte, linee, ecc.
  • csplit: suddivide il file in base al contesto fornito dall'espressione regolare

Uno splito csplitpotrebbe fare il lavoro, a seconda di come gestiscono l'uso della memoria. Dai un'occhiata a questa pagina per maggiori informazioni su splitecsplit .

Per ulteriori informazioni su questi strumenti, prova il tuo motore di ricerca preferito o digita man <cmd-name>dalla riga di comando nel Terminale.

Se riesci a fornire più contesto su come dividere i file, sono sicuro che qualcuno con una conoscenza approfondita di sed / awk o espressioni regolari potrebbe aiutare.


2

Consiglio di dare un'occhiata a HexFiend - anche se è un editor esadecimale, legge il file direttamente dal disco rigido e non cerca di caricarlo in memoria come la maggior parte degli altri editor di testo. Se vuoi nascondere la parte esadecimale deseleziona "Esadecimale" dal menu Visualizza.


2

Un'altra opzione sarebbe quella di utilizzare i comandi integrati head e tail .

Per ottenere le prime 1000 linee:

head -1000 hugefile

Per ottenere le ultime 1000 linee:

tail -1000 hugefile

O per ottenere linee da 1.000.000 a 1.001.000:

head -1001000 hugefile | tail -1000

Questo potrebbe richiedere parecchio tempo.


Mi piace questa opzione. Se solo volessi prenderne un paio di pezzi alla volta. Non è adatto al mio scopo ora, ma lo userò con sfida in futuro :) Grazie
Chris Salij,

0

Ho bisogno del mio lavoro per visualizzare enormi file di testo e sono alla ricerca da anni di alternative, sebbene solo su Windows.

L'unico editor di testo che abbia mai trovato in grado di funzionare in modo efficace su file di grandi dimensioni è V - The File Viewer .

Sebbene commerciale, a $ 20 ne vale la pena se è necessario modificare tali file frequentemente.
Se hai solo bisogno di visualizzare un file particolare, ha una versione di prova completamente funzionale.

Il trasferimento di 10 GB attraverso la rete su un computer Windows non dovrebbe essere insopportabilmente lento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.