Editor de texto para editar archivos de texto sin formato de gran tamaño (4,3 GB)


87

¿Hay algún editor de texto que pueda editar dicho archivo?

He intentado:

  • gedit
  • kate
  • nano
  • vim
  • mcedit

sin éxito.


8
¿Necesita editarlo o solo verlo? Si es lo último, simplemente puede usar "menos" de la CLI.
Sr. Shunz

3
@ MrShunz: sí, quiero editar el archivo. @Bakhtiyor: la respuesta es "SÍ" :)
cupakob

2
Recomiendo editar su pregunta para mencionar el hecho de que desea editar el archivo. Eso haría que las personas no tuvieran que buscar en los comentarios para resolver su pregunta y / o si su pregunta es lo suficientemente similar a la que tienen.
Firefeather

1
Por casualidad, ¿estás tratando de abrir el archivo base de la bomba zip 42? Tuve este problema y descubrí que un programa llamado "010 editor" funcionó bien

Relacionado con Desbordamiento de pila: Trabajando con archivos enormes en Linux
Eliah Kagan

Respuestas:


81

Otro método es usar split. Dividir el archivo en 8 partes y manipular los archivos con un editor. Después de eso, vuelve a ensamblar los archivos nuevamente.

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 la mejor solución en el momento ...
cupakob

99
¡Tenga en cuenta que muchos editores agregarán un carácter de nueva línea al final de su archivo editado, y lo harán sin informarle! Para obtener más información, consulte ¿Cómo evitar que Gedit, Gvim, Vim, Nano agreguen char de nueva línea de fin de archivo? askubuntu.com/q/20871/2670
Peter.O

buena manera ... y luego deberías usar vim con las partes individuales ... Odio vim: P pero gana todos los demás editores aquí
Postadelmaga

1
@ Peter.O: ¿Ha cambiado el enlace? Me cuesta encontrar información sobre el problema de los caracteres de nueva línea en esa URL. : / Actualización: Encontré la pregunta referenciada aquí: askubuntu.com/q/13317/372950
rinogo

3
(En resumen, use nano --nonewlinespara evitar la adición automática de nuevas líneas)
rinogo

39

Intenta con Joe . Solo lo usé para editar un archivo de volcado SQL ~ 5G. Se tardó aproximadamente un minuto en abrir el archivo y unos minutos en guardarlo, con muy poco uso de intercambio (en un sistema con 4G RAM).


Esto funcionó bien para mí para editar un archivo xml de 1GB.
digitaljoel

Funciona bien con archivos de 2GB
Damir Olejar

Intenté en un archivo de volcado de SQL 14G, pero fallé con un error de E / S. (La máquina tiene 3GB RAM y 3GB Swap).
tehwalrus

1
¡Guauu! 'Joe' pasa - donde muchos chocan!
1111161171159459134

le dio a Joe un archivo de 4.6 gb, y no pasó nada durante unos minutos, así que renuncié a Hex Fiend lo abre instantáneamente, pero no parece que puedas editarlo
balupton

17

No los encontrarás. Si desea reemplazar algunas líneas en este archivo, puede mirar con lesso grep y usar sedpara buscar y reemplazar algunas líneas.

Me gusta esto:

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

en Wikipedia hay algunos ejemplos útiles: http://en.wikipedia.org/wiki/Sed


3
O especialmente con la -ibandera (en el lugar), por lo que se comporta esencialmente como un editor de texto que reemplazará el contenido del archivo original.
O Mapper

No utilizar sed -i; para eso edestá.
fkraiem

14

Inténtelo, si lo desea, pero esos archivos grandes no son prácticos si desea realizar una edición "normal"; por ejemplo, no desea guardar sus ediciones con demasiada frecuencia; tomará demasiado tiempo :)

Si es por una vez, splity joinfuncionaría bastante bien, y es lo suficientemente simple como para dividirlo en trozos manejables, y luego volver a unir las piezas ... Tenga en cuenta que muchos editores agregarán un carácter de nueva línea al final de su edición. archivo, y hazlo sin informarte! Para obtener más información, consulte ¿Cómo evitar que Gedit, Gvim, Vim, Nano agreguen char de nueva línea de fin de archivo?

Prueba Gvim si realmente quieres editar un archivo tan grande ... Acabo de cargar un archivo de 3.9GB en él, y todo parece ser normal ...

Aquí hay un enlace interesante sobre el asunto, en stackoverflow


no funciona con gvim ....
cupakob

1
@upakob: En este momento, cargué con éxito un archivo de 4.5GB en mi sistema, usando Gvim ... Me tomó 6 minutos cargarlo. ¿Esperaste lo suficiente? (Esto es lo que quiero decir sobre guardar el archivo. Tomará mucho tiempo) ... Intente ejecutar iotoppara ver sus estadísticas de E / S a medida que se carga. System Monitor muestra que tengo 3.2 GB de RAM (lo que desconcierta yo, ya que tengo 4 GB) ...
Peter.O

1
@upakob: Esta vez probé 8GB, y Gvim lo ha cargado con éxito ... Entonces Gvim puede "técnicamente" manejar archivos grandes, más grandes, y tal vez incluso los archivos "MÁS GRANDES", pero aun así, es algo "poco práctico" (a menos que sea como yo y esté preparado para esperar 41 minutos para cargar 8 GB ... :) ... pero no creo que me moleste en hacerlo de nuevo .....
Peter.O

Parece que has vinculado la pregunta equivocada.
psusi

Parece que ha cambiado el primer enlace para que sea el mismo que el segundo, en lugar de "cómo evitar que gedit, etc. agregue el final de la nueva línea del archivo".
psusi

11

Use glogg: el explorador de registros rápido e inteligente: http://glogg.bonnefon.org/


44
¡Bienvenido a Askubuntu.com! Mientras que el paquete propuesto puede resolver el problema, tenga en cuenta que glogg está dirigido a buscar archivos grandes, no a editarlos.
Jos

Lo probé, siempre se hincha.
Kais

11

Hay otra forma muy simple y rápida de reemplazar contenido en archivos muy grandes (que funciona en lugar de editar grandes volcados de mysql)

En primer lugar, debe instalar Midnight Comander: excelente administrador de archivos para sistemas Linux

sudo apt-get install mc

Después de eso, puede abrir cualquier archivo de cualquier tamaño en "modo de vista" (con acceso directo F3), cambiar a vista HEX (acceso directo F4) y activar el modo de edición (acceso directo F2).

Por ejemplo, tuve un volcado mysql de 3 GB, donde quiero eliminar alguna línea SQL. Abro el modo de visualización, encuentro la cadena, abro el modo hexadecimal y reemplazo el contenido antes de la línea necesaria con el comentario MYSQL (cadena "-", códigos hexadecimales 2D 2D 20).

Ejemplo: mc hexadecimal


2
Mis 5 centavos: MC no pudo editar el archivo de 110 GB, pero se abrió en el modo de vista.
Andron

@Andron todavía puede reemplazar el contenido en modo de vista
user10635

interesante. ¿Puedes describir cómo?
Andron

1
@Andron bien, ya lo describí en mi respuesta. :) Abra el modo de vista, presione F4 para hexadecimal y reemplace cualquier contenido en cualquier archivo sin importar el tamaño.
user10635

oh tienes razon Solo una nota de que en mi caso, necesito reemplazar una cadena larga (s) y es por eso que no está bien para mí. Pero sí, en general, esto es posible.
Andron



4

El nediteditor de texto ha existido durante mucho tiempo y es bastante capaz. Puede abrir un archivo de texto de 1.9 Gb en aproximadamente 20 segundos. Es una interfaz gráfica similar a Windows con todas las características estándar de edición de texto que esperaría, como resaltado de sintaxis, sangría, numeración de líneas, etc.

Si desea cambiar el tamaño de la ventana, hágalo antes de abrir el archivo grande. El X11 Motif es un poco lento en el cambio de tamaño, pero también es una solicitud de impuestos.

Está en todos los repositorios estándar, así que instálelo con:

sudo apt-get install nedit

Es de código abierto GPLv2.

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

Estoy vadeando a través de archivos de texto de 30-40Mb y los neditmaneja fácilmente.


3

Puede abrir el archivo usando hexedit. Sin embargo, solo podrá cambiar el texto, no agregarlo ni eliminarlo.


2

Según este artículo de Wikipedia Comparación de editores de texto VIM entre otros. Iba a sugerir Geany pero hay un? en el campo para soporte de archivos grandes ...

EDITAR: Seguí adelante e intenté con geany y me di por vencido después de esperar 10 minutos con 3 núcleos vinculados y básicamente toda mi memoria (virtual y física) en uso todo el tiempo ... No es concluyente ya que podría haberlo abierto si hubiera Había sido más paciente. Busqué y no encontré ninguna configuración / preferencia para manejar archivos grandes de manera diferente también.

Me gusta la respuesta de fred.bear mejor.



1

Entramos en una situación en la que el archivo de registro se acumuló a 6 GB y necesitamos buscar por fecha o cadena. Pocos editores de texto bien conocidos podrían admitir un archivo tan grande.

Encontré el editor JOE que puede cargar mi archivo de 6GB en 2 minutos y habilitado para explorar el archivo.

Versión de Windows (sourceforge.net)

Ubuntu (sourceforge.net)


0

Trabajo con NetBeans : es mejor que Eclipse en ese contexto.

Sé que es para desarrolladores, pero puede abrir cualquier archivo de texto sin formato con él.


0

Emacs hará el trabajo (he editado más de 10 archivos GiB en él antes), pero es aproximadamente tan hostil para el nuevo usuario como vim, por lo que es posible que no satisfaga sus necesidades. La curva de aprendizaje es bastante empinada.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.