Me refiero a un tamaño de más de 100 MB; estos archivos de texto pueden superar los límites de los editores.
Necesito mirar a través de un archivo XML grande, pero no puedo si el editor tiene errores.
¿Alguna sugerencia?
VS Code (Windows, macOS, Linux) - Libre y de código abierto con una bonita interfaz gráfica. Edita un archivo JSON de 3,6 GB, que se carga en un minuto. Debes tener suficiente RAM para cargar los archivos.
Visores gratuitos de sólo lectura:
tail
". Soporta seguimiento de archivos, búsqueda, filtrado, resaltado configurable, plugins y herramientas externas.Editores gratuitos:
Programas incorporados (no requiere instalación):
MORE
de Windows, no al more
de Unix. Un programa de consola que le permite ver un archivo, una pantalla a la vez.Visores web:
Editores de pago:
Y por último, ¿has probado a abrir el archivo grande con tu editor habitual? Algunos editores pueden manejar archivos razonablemente grandes. En particular, Notepad++ (Windows) y Sublime Text (Windows, macOS, Linux) soportan archivos de hasta 2 GB.
¿Por qué usas editores para sólo mirar un archivo (grande)?
Bajo *nix o Cygwin, simplemente usa less. (Hay un famoso dicho - "menos es más, más o menos" - porque "less" sustituyó al anterior comando de Unix "more", con el añadido de que podías desplazarte hacia arriba). La búsqueda y la navegación bajo less es muy similar a la de Vim, pero no hay archivo de intercambio y se utiliza poca RAM.
Hay un puerto Win32 de GNU less. Vea la sección "less" de la respuesta anterior.
Perl es bueno para scripts rápidos, y su operador ..
(range flip-flop) es un buen mecanismo de selección para limitar la basura que tienes que ver.
Por ejemplo:
$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less
Esto extraerá todo desde la línea 1 millón hasta la línea 2 millón, y le permitirá tamizar la salida manualmente en menos.
Otro ejemplo:
$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less
Esto comienza a imprimir cuando la "expresión regular uno" encuentra algo, y se detiene cuando la "expresión regular dos" encuentra el final de un bloque interesante. Puede encontrar varios bloques. Tamiza la salida...
Esta es otra herramienta útil que puedes utilizar. Para citar el artículo de Wikipedia:
logparser es una utilidad flexible de línea de comandos que fue escrita inicialmente por Gabriele Giuseppini, un empleado de Microsoft, para automatizar las pruebas de registro de IIS. Fue pensado para su uso con el sistema operativo Windows, y fue incluido con las herramientas del kit de recursos de IIS 6.0. El comportamiento por defecto de logparser funciona como una "tubería de procesamiento de datos", tomando una expresión SQL en la línea de comandos, y dando salida a las líneas que contienen coincidencias para la expresión SQL.
Microsoft describe Logparser como una herramienta potente y versátil que proporciona acceso de consulta universal a datos basados en texto, como archivos de registro, archivos XML y archivos CSV, así como a fuentes de datos clave en el sistema operativo Windows, como el registro de eventos, el registro, el sistema de archivos y Active Directory. Los resultados de la consulta de entrada pueden tener un formato personalizado en la salida basada en texto, o pueden persistir en objetivos más especializados como SQL, SYSLOG o un gráfico.
Ejemplo de uso:
C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line > 1000 and line < 2000"
C:\>logparser.exe -i:textline -o:tsv "select Index, Text from 'c:\path\to\file.log' where line like '%pattern%'"
100 MB no es demasiado grande. 3 GB se está volviendo algo grande. Solía trabajar en una instalación de impresión y correo que creaba alrededor del 2% del correo de primera clase de Estados Unidos. Uno de los sistemas para el que yo era el líder técnico representaba alrededor del 15+% de las piezas de correo. Teníamos algunos archivos grandes que depurar aquí y allá.
Siéntase libre de añadir más herramientas e información aquí. ¡Esta respuesta es la wiki de la comunidad por una razón! Todos necesitamos más consejos para tratar con grandes cantidades de datos...