Editores de texto de Linux capaces de trabajar con líneas muy, muy largas y registros de longitud fija

Editores de texto de Linux capaces de trabajar con líneas muy, muy largas y registros de longitud fija

Tengo un problema bastante simple aquí: tengo un fragmento de texto que es una línea gigante (~150.000 caracteres). No hay saltos de línea y es un archivo plano de longitud fija (es decir, fue producido por un COBOLprograma), por lo que introducir saltos de línea no sólo es incómodo, sino que además resulta inútil si intento realizar cambios en el archivo.

La mayoría de los editores de texto luchan con una sola línea tan grande ( lessno me gusta, Geditno me gusta, nanono me gusta, he oído vimque no me gusta, etc.), aunque funcionan.

¿Alguien tiene alguna sugerencia para un editor que se adapte mejor a los datos con los que estoy trabajando? Es solo una línea, pero aún causa más problemas que los que causaría un archivo de texto de 1GiB+ con líneas de longitud normal...

Sería incluso mejor si funcionara EBCDICy no vomitara cuando encuentra bytes nulos, o los destruyera al volver a escribir (algunos campos son decimales codificados en binario).

Tenga en cuenta que no se trata de archivos que son grandes en términos de tamaño sin formato (el archivo contiene solo una línea), sino del hecho de que la mayoría de los editores no están optimizados para trabajar con líneas muy largas.

Respuesta1

Creo que un archivo como el que usted describe, a efectos prácticos, actúa como un archivo binario y debe tratarlo como tal.

Podrías atacarlo con un editor hexadecimal, pero eso no te ayuda con la parte EBCIDC.

Si tiene que editar mucho este archivo y está íntimamente familiarizado con su formato de registro de longitud fija, puede que valga la pena dedicar tiempo a preparar algo en Perl u otro idioma (sugiero Perl porque es antiguo y probablemente tienen módulos que convierten UTF-8, etc. a EBCIDC), que funcionarían con el formato específico de este archivo.

Respuesta2

yo en realidadAcabo de tratarvim en un archivo con una sola línea de 150000 caracteres y funcionó como la seda.

Así que supongo que deberías intentarlo, si no lo hiciste simplemente porque you heard vim doesn't like such kind of files...

Así es como obtuve mi archivo:

seq 150000 | while read num; do echo -n "b" ; done > megaline.txt

Respuesta3

Probé el mismo método que Dakatine con mi instalación de emacs y funcionó bien. Sin complejos, nada. Si está editando texto plano (es decir, sin realizar ningún tipo de análisis que requiere un modo para un lenguaje de programación text-mode), será muy, muy difícil bloquear emacs. El comportamiento que está viendo con Eclipse es probablemente un reflejo del hecho de que Eclipse está tratando de hacer algún tipo de análisis en el texto a medida que lo representa; lo mismo ocurre con Gedit. Tampoco puedo reproducir tu problema less: me sale bien.

Respuesta4

Darle una oportunidad:JEdit: un editor programador

Tiene algunas funciones avanzadas de almacenamiento en búfer y E/S altamente optimizadas, pero tarda un poco en iniciarse (debido a JVM). Lo he estado usando para ver y editar archivos de más de 1GiB sin ningún problema, al menos en Debian. Aunque no puedo garantizar que se comporte tan bien en Windows... :)

información relacionada