文本编辑器打开大(巨大,巨大,大)文本文件[关闭]

问题描述 投票:1023回答:2

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

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

有什么建议?

windows xml editor text-editor large-files
2个回答
1296
投票

VS Code(Windows,macOS,Linux) - 免费和开源的GUI。编辑了一个3.6 GB的JSON文件,在一分钟内加载。您必须有足够的RAM来加载文件。

免费只读查看器:

  • glogg(Windows,macOS,Linux) - 确认处理多GB文件。它的主要功能是正则表达式搜索。有标签,直接从磁盘读取文件,可以观看/跟踪文件,并允许用户标记行。
  • LogExpert(Windows) - “tail的GUI替代品。”支持文件跟踪,搜索,过滤,可配置突出显示,插件和外部工具。
  • Large Text File Viewer(Windows) - 极简主义,并且具有非常小的可执行文件大小。支持拆分视图,文本主题自定义,正则表达式搜索和文件跟踪。
  • Lister(Windows) - 更小巧简约。它是一个可执行文件,只有500 KB,但它仍然支持搜索(使用正则表达式),打印,十六进制编辑器模式和设置。

免费编辑:

  • Vim和Emacs(Windows,macOS,Linux) - 经典的Unix编辑器。陡峭的学习曲线,但残酷有效。它们具有可以调整的设置,以使它们更快。
  • Large File Editor(Windows) - 打开和编辑TB +文件,支持Unicode,使用少量内存,具有特定于XML的功能,并包含二进制模式。
  • HxD(Windows) - 十六进制编辑器,而不是文本编辑器;但它非常快速有用。
  • GigaEdit(Windows) - 支持搜索,字符统计和字体自定义。但它有问题 - 对于大文件,它只允许覆盖字符,而不是插入它们;它不认为LF是线路终结器,只有CRLF;而且它很慢。

内置程序(无需安装):

  • less(macOS,Linux) - 传统的Unix命令行寻呼机工具。允许您查看几乎任何大小的文本文件。也可以安装在Windows上。
  • Notepad(Windows) - 体现大文件,特别是关闭自动换行功能。
  • MORE(Windows) - 这是指Windows MORE,而不是Unix more。一个控制台程序,允许您一次查看一个文件,一个屏幕。

网络观众:

  • htmlpen.com - 可以打开和语法高亮TB +文件。允许编辑,但非常大的文件除外。支持搜索,正则表达式和导出。
  • readfileonline.com - 另一个HTML5大文件查看器。支持搜索。

付费编辑:

  • 010 Editor(Windows,macOS,Linux) - 打开巨型(高达50 GB)文件。
  • SlickEdit(Windows,macOS,Linux) - 打开大文件。
  • UltraEdit(Windows,macOS,Linux) - 打开超过6 GB的文件,但必须更改配置才能实现:菜单»高级»配置»文件处理»临时文件»打开没有临时文件的文件...
  • EmEditor(Windows) - 处理非常大的文本文件(正式高达248 GB,但根据一份报告高达900 GB)。

最后,您是否尝试使用常规编辑器打开大文件?有些编辑器实际上可以处理相当大的文件。特别是,Notepad++(Windows)和Sublime Text(Windows,macOS,Linux)支持2 GB范围内的文件。


183
投票

Tips and tricks

你为什么要使用编辑器来查看(大)文件?

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

有一个GNU的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

这是您可以使用的另一个有用的工具。引用the Wikipedia article

logparser是一个灵活的命令行实用程序,最初由Microsoft员工Gabriele Giuseppini编写,用于自动化IIS日志记录的测试。它旨在与Windows操作系统一起使用,并包含在IIS 6.0 Resource Kit Tools中。 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的原因!我们都需要更多关于处理大量数据的建议......

© www.soinside.com 2019 - 2024. All rights reserved.