文本编辑器打开大(巨大,巨大,大)文本文件

我的意思是100+MB大;这样的文本文件可以推动编辑器的信封。

我需要查看一个大的XML文件,但如果编辑器有错误,则无法查看。

有什么建议吗?

1962956 次浏览

免费只读观众:

  • 大型文本文件查看器(Windows)-完全可自定义的主题(颜色、字体、换行、选项卡大小)。支持水平和垂直拆分视图。还支持文件跟踪和正则表达式搜索。非常快速、简单,并且具有较小的可执行大小。
  • kl ogg(Windows、macOS、Linux)-glogg的维护分支。它的主要功能是正则表达式搜索。它支持监控文件更改(如tail)、书签、使用不同颜色突出显示模式,并内置了严重的优化。但从UI的角度来看,它相当小。
  • 它实际上是一个日志文件分析器,不是一个大的文件查看器,在一次测试中,它需要10秒和700 MB的内存来加载一个250 MB的文件。但它的杀手级功能是列列表器(解析CSV、JSONL等格式的日志并以电子表格格式显示)和荧光笔(以特定颜色显示某些单词的行)。还支持文件跟踪、选项卡、多文件、书签、搜索、插件和外部工具。
  • 李斯特(Windows)-非常小且简约。它是一个可执行文件,只有500 KB,但它仍然支持搜索(使用正则表达式)、打印、十六进制编辑器模式和设置。

免费编辑:

  • 您的常规编辑器或IDE。现代编辑器可以处理令人惊讶的大文件。特别是Vim(Windows、macOS、Linux)、(Windows、macOS、Linux)、记事本++(Windows)、崇高文本(Windows、macOS、Linux)和VS Code(Windows、macOS、Linux)支持大文件(约4 GB),假设您有RAM。
  • 大文件编辑器(Windows)-打开和编辑TB+文件,支持Unicode,使用很少的内存,具有特定于XML的功能,并包含二进制模式。
  • 千兆编辑(Windows)-支持搜索、字符统计和字体自定义。但它有错误-对于大文件,它只允许覆盖字符,不允许插入它们;它不尊重LF作为行终止符,只有CRLF;它很慢。

内置程序(无需安装):

  • <强>小(macOS,Linux)-传统的Unix命令行寻呼机工具。让您查看几乎任何大小的文本文件。也可以安装在Windows上。
  • 记事本(Windows)-适合大文件,尤其是关闭了换行。
  • <强>更多(Windows)-这指的是WindowsMORE,而不是Unixmore。一个控制台程序,允许您一次查看一个文件,一个屏幕。

网页浏览者:

付费编辑/观众:

  • 010编辑器(Windows,macOS,Linux)-打开巨型(大至50 GB)文件。
  • SlickEd它(Windows,macOS,Linux)-打开大文件。
  • 超编辑(Windows、macOS、Linux)-打开超过6 GB的文件,但必须更改配置才能实用:菜单”高级”配置”文件处理”临时文件”打开没有临时文件的文件…
  • Em编辑器(Windows)-很好地处理非常大的文本文件(官方高达248 GB,但根据一份报告多达900 GB)。
  • B的编辑器(Windows)-处理大文件和非常长的行。不需要安装。免费用于非商业用途。
  • lox x(Windows)-支持文件跟随、突出显示、行号、大文件、正则表达式、多个文件和视图等等。免费版本不能:处理正则表达式、过滤文件、同步时间戳和保存更改的文件。

提示和技巧

更少

为什么在(大)文件中使用编辑只是

在*nix或Cygwin下,只需使用更少即可。(有一句名言-“少即是多,或多或少”-因为“less”取代了早期的Unix命令“more”,并且可以向上滚动。)在less下搜索和导航与Vim非常相似,但没有交换文件并且使用的RAM很少。

有一个GNU less的Win32端口。参见上面答案的“少”部分。

perl

Perl非常适合快速脚本,它的..(范围触发器)运算符提供了一个很好的选择机制来限制您必须费力完成的工作。

例如:

$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less

这将提取从行100万到行200万的所有内容,并允许您手动筛选输出。

另一个例子:

$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less

当“正则表达式1”找到某些内容时开始打印,当“正则表达式2”找到有趣块的末尾时停止打印。它可能会找到多个块。筛选输出…

logparser

这是您可以使用的另一个有用工具。引用维基百科的文章

logparser是一个灵活的命令行实用程序,最初由Microsoft员工Gabriele Giuseppini编写,用于自动化IIS日志记录测试。它旨在与Windows操作系统一起使用,并包含在IIS 6.0资源工具包工具中。logparser的默认行为类似于“数据处理管道”,通过在命令行上获取SQL表达式,并输出包含SQL表达式匹配项的行。

Microsoft将Logparser描述为一个功能强大的多功能工具,它提供对基于文本的数据的通用查询访问,例如日志文件、XML文件和CSV文件,以及Windows操作系统上的关键数据源,例如事件日志、注册表、文件系统和Active Directory。输入查询的结果可以在基于文本的输出中自定义格式,也可以持久化到更专业的目标,例如SQL、SYSLOG或图表。

示例用法:

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不算太大。3 GB变得有点大。我曾经在一家打印和邮件工厂工作,该工厂创造了大约2%的美国头等舱邮件。我担任技术主管的其中一个系统占了大约15%以上的邮件。我们到处都有一些大文件要调试。

还有更多…

欢迎在此处添加更多工具和信息。这个答案是社区wiki是有原因的!我们都需要更多关于处理大量数据的建议…