关于windows:文本编辑器打开大(巨大)的文本文件

Text editor to open big (giant, huge, large) text files

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

我需要查看一个大的XML文件,但是如果编辑器有问题,就不能查看。

有什么建议吗?


VS代码(Windows、MacOS、Linux)-免费开放源代码,带有一个漂亮的GUI。编辑了一个3.6 GB的JSON文件,一分钟后加载。您必须有足够的RAM来加载文件。

免费只读查看器:

  • GLOG(Windows、MacOS、Linux)–已确认处理多GB文件。其主要特点是正则表达式搜索。具有选项卡,直接从磁盘读取文件,可以监视/跟踪文件,并允许用户标记行。
  • logexpert(windows)–"tail的图形用户界面替代品"。支持文件跟踪、搜索、过滤、可配置的突出显示、插件和外部工具。
  • 大文本文件查看器(Windows)–最小,可执行大小非常小。支持拆分视图、文本主题自定义、regex搜索和文件跟踪。
  • Lister(Windows)–更小巧、更简约。它是一个可执行文件,只有500kb,但它仍然支持搜索(使用regex)、打印、十六进制编辑器模式和设置。

自由编辑:

  • Vim和Emacs(Windows、MacOS、Linux)–经典的Unix编辑器。学习曲线陡峭,但效率极高。它们的设置可以进行调整以使其更快。
  • 大文件编辑器(Windows)–打开和编辑TB+文件,支持Unicode,使用很少的内存,具有特定于XML的功能,并包括二进制模式。
  • hxd(windows)–一个十六进制的编辑器,而不是文本编辑器;但是它的速度和实用性令人惊讶。
  • GigaEdit(Windows)–支持搜索、字符统计和字体自定义。但是它有问题——对于大文件,它只允许重写字符,而不允许插入字符;它不把lf看作行终止符,只允许crlf;而且速度很慢。

内置程序(不需要安装):

  • LESS(MacOS、Linux)–传统的Unix命令行寻呼机工具。允许您查看几乎任何大小的文本文件。也可以安装在Windows上。
  • 记事本(Windows)–适合大文件,尤其是关闭自动换行。
  • 更多(windows)–这是指windows MORE,而不是unix MORE。一种控制台程序,允许您一次查看一个文件。

网络观众:

  • htmlpen.com–可以打开并语法突出显示tb+文件。允许编辑,非常大的文件除外。支持搜索、正则表达式和导出。
  • readfileonline.com–另一个HTML5大型文件查看器。支持搜索。

付费编辑:

  • 010编辑器(Windows、MacOS、Linux)–打开巨大的(高达50 GB)文件。
  • slickedit(windows、macos、linux)–打开大文件。
  • Ultraedit(Windows、MacOS、Linux)–打开超过6 GB的文件,但必须更改配置才能使其实用:菜单?先进的?配置?文件处理?临时文件?打开没有临时文件的文件…
  • eMeditor(Windows)–可以很好地处理非常大的文本文件(官方最高为248 GB,但根据一份报告,高达900 GB)。

最后,您试过用常规编辑器打开大文件吗?有些编辑器实际上可以处理相当大的文件。特别是,记事本+和高级文本(Windows、MacOS、Linux)支持2 GB范围内的文件。


提示和技巧较少的

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

在*nix或cygwin下,使用更少。(有句名言——"少即多,多即少"——因为"少"取代了早期的unix命令"多",添加了一个可以向上滚动的命令。)在"少"下搜索和导航与vim非常相似,但没有交换文件和使用的RAM。

有一个不含GNU的win32端口。请参阅上面答案的"更少"部分。

珀尔

Perl非常适合快速脚本,它的..操作符(range flip-flop)提供了一种很好的选择机制,可以限制必须处理的crud。

例如:

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

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

另一个例子:

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

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

统计程序

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

logparser is a flexible command line utility that was initially written by Gabriele Giuseppini, a Microsoft employee, to automate tests for IIS logging. It was intended for use with the Windows operating system, and was included with the IIS 6.0 Resource Kit Tools. The default behavior of logparser works like a"data processing pipeline", by taking an SQL expression on the command line, and outputting the lines containing matches for the SQL expression.

Microsoft describes Logparser as a powerful, versatile tool that provides universal query access to text-based data such as log files, XML files and CSV files, as well as key data sources on the Windows operating system such as the Event Log, the Registry, the file system, and Active Directory. The results of the input query can be custom-formatted in text based output, or they can be persisted to more specialty targets like SQL, SYSLOG, or a chart.

示例用法:

1
2
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%'"

尺寸的相对性

100MB不太大。3GB正在变得越来越大。我曾经在一家打印和邮寄公司工作,这家公司创造了美国大约2%的一等邮件。其中一个我是技术负责人的系统占邮件总数的15%以上。我们有一些大文件要调试。

还有更多…

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