提问人: 提问时间:10/2/2008 最后编辑:6 revs, 5 users 56%Dave Jarvis 更新时间:8/12/2023 访问量:2052729
用于打开大(巨型、巨大、大)文本文件的文本编辑器 [已关闭]
Text editor to open big (giant, huge, large) text files [closed]
问:
我的意思是 100+ MB 大;这样的文本文件可以推动编辑器的信封。
我需要查看一个大的 XML 文件,但如果编辑器有问题,我就不能了。
有什么建议吗?
答:
免费只读查看器:
- 大文本文件查看器 (Windows) – 完全可自定义的主题(颜色、字体、自动换行、选项卡大小)。支持水平和垂直分割视图。还支持文件跟踪和正则表达式搜索。非常快速、简单,并且可执行体积小。
- klogg (Windows, macOS, Linux) – glogg 的一个维护分支。它的主要特点是正则表达式搜索。它支持监控文件更改(如)、书签、使用不同颜色突出显示模式,并内置了严重的优化。但从UI的角度来看,它是相当小的。
tail
- LogExpert (Windows) – “GUI 替代品。”它实际上是一个日志文件分析器,而不是一个大型文件查看器,在一次测试中,它需要 10 秒和 700 MB 的 RAM 来加载 250 MB 的文件。但它的杀手级功能是列形器(解析 CSV、JSONL 等格式的日志并以电子表格格式显示)和荧光笔(用某些颜色显示带有某些单词的行)。还支持文件关注、选项卡、多文件、书签、搜索、插件和外部工具。
tail
- Lister (Windows) – 非常小巧和极简主义。它是一个可执行文件,只有 500 KB,但它仍然支持搜索(使用正则表达式)、打印、十六进制编辑器模式和设置。
免费编辑:
- 您的常规编辑器或 IDE。现代编辑器可以处理令人惊讶的大文件。特别是,Vim (Windows、macOS、Linux)、Emacs (Windows、macOS、Linux)、Notepad++ (Windows)、Sublime Text (Windows、macOS、Linux) 和 VS Code (Windows、macOS、Linux) 支持大 (~4 GB) 文件,前提是您有 RAM。
- 大文件编辑器 (Windows) – 打开和编辑 TB+ 文件,支持 Unicode,使用很少的内存,具有特定于 XML 的功能,并包括二进制模式。
- GigaEdit (Windows) – 支持搜索、字符统计和字体自定义。但它有问题——对于大文件,它只允许覆盖字符,而不允许插入它们;它不尊重 LF 作为行终止符,只尊重 CRLF;而且速度很慢。
内置程序(无需安装):
- less (macOS, Linux) – 传统的 Unix 命令行寻呼工具。允许您查看几乎任何大小的文本文件。也可以安装在 Windows 上。
- 记事本 (Windows) – 对于大文件来说还不错,尤其是在关闭自动换行的情况下。
- MORE (Windows) – 这是指 Windows ,而不是 Unix 。一个控制台程序,允许您一次查看一个屏幕的文件。
MORE
more
网络查看器:
- readfileonline.com – 另一个 HTML5 大文件查看器。支持搜索。
付费编辑/观众:
- 010 编辑器(Windows、macOS、Linux) – 打开巨型(最大 50 GB)文件。
- SlickEdit (Windows, macOS, Linux) – 打开大文件。
- UltraEdit(Windows、macOS、Linux) – 打开超过 6 GB 的文件,但必须更改配置才能使其实用: 菜单 » 高级 » 设置 » 文件处理 » 临时文件 » 打开没有临时文件的文件...
- EmEditor (Windows) – 可以很好地处理非常大的文本文件(官方最高可达 16 TB)。搜索和替换的速度非常快。免费版本可供个人使用。
- BssEditor (Windows) – 处理大文件和很长的行。不需要安装。免费用于非商业用途。
- loxx (Windows) – 支持文件跟踪、突出显示、行号、大文件、正则表达式、多个文件和视图等等。免费版不能:处理正则表达式、过滤文件、同步时间戳和保存更改的文件。
评论
技巧和窍门
少
为什么你使用编辑器只看一个(大)文件?
在 *nix 或 Cygwin 下,只需少用。(有一句名言——“少即是多,多或少”——因为“less”取代了早期的 Unix 命令“more”,并增加了可以向上滚动的附加功能。在less下搜索和导航与Vim非常相似,但没有交换文件,使用的RAM也很少。
有一个 GNU less 的 Win32 端口。请参阅上面答案的“更少”部分。
Perl的
Perl 非常适合快速编写脚本,它的(范围触发器)运算符提供了一个很好的选择机制,可以限制你必须涉足的 crud。..
例如:
$ 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 是一个灵活的命令行实用程序,最初由 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+%。我们有一些大文件要在这里和那里进行调试。
还有更多...
请随时在此处添加更多工具和信息。这个答案是社区维基是有原因的!我们都需要更多关于处理大量数据的建议......
评论
less
less -S
less
评论