我的意思是100多MB大; 这样的文本文件可以推动编辑的信封.
我需要查看一个大型XML文件,但如果编辑器有错误则无法查看.
有什么建议?
VS Code(Windows,macOS,Linux) - 免费和开源的GUI.编辑了一个3.6 GB的JSON文件,在一分钟内加载.您必须有足够的RAM来加载文件.
免费只读查看器:
glogg(Windows,macOS,Linux) - 确认可以处理多GB文件.它的主要功能是正则表达式搜索.有标签,直接从磁盘读取文件,可以观看/跟踪文件,并允许用户标记行.
LogExpert(Windows) - "GUI的替代品tail
." 支持文件跟踪,搜索,过滤,可配置突出显示,插件和外部工具.
大文本文件查看器(Windows) - 极简主义且具有非常小的可执行文件大小.支持拆分视图,文本主题自定义,正则表达式搜索和文件跟踪.
Lister(Windows) - 更小巧简约.它是一个可执行文件,只有500 KB,但它仍然支持搜索(使用正则表达式),打印,十六进制编辑器模式和设置.
免费编辑:
Vim和Emacs(Windows,macOS,Linux) - 经典的Unix编辑器.陡峭的学习曲线,但残酷有效.它们具有可以调整的设置,以使它们更快.
大文件编辑器(Windows) - 打开和编辑TB +文件,支持Unicode,使用少量内存,具有特定于XML的功能,并包含二进制模式.
HxD(Windows) - 十六进制编辑器,而不是文本编辑器; 但它非常快速有用.
GigaEdit(Windows) - 支持搜索,字符统计和字体自定义.但它有问题 - 对于大文件,它只允许覆盖字符,而不是插入它们; 它不认为LF是线路终结器,只有CRLF; 而且它很慢.
内置程序(无需安装):
less(macOS,Linux) - 传统的Unix命令行寻呼工具.允许您查看几乎任何大小的文本文件.也可以安装在Windows上.
记事本(Windows) - 体现大文件,特别是关闭自动换行功能.
更多(Windows) - 这是指WindowsMORE
,而不是Unixmore
.一个控制台程序,允许您一次查看一个文件,一个屏幕.
网络观众:
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).
最后,您是否尝试使用常规编辑器打开大文件?有些编辑器实际上可以处理相当大的文件.特别是,Notepad ++(Windows)和Sublime Text(Windows,macOS,Linux)支持2 GB范围内的文件.
你为什么要使用编辑器来查看(大)文件?
在*nix或Cygwin下,只需使用less.(有一句名言 - "少即是多,少或多少" - 因为"less"取代了早期的Unix命令"more",另外还可以向上滚动.)搜索和导航少于非常类似于Vim,但是没有使用交换文件和少量RAM.
有一个GNU的Win32端口少.请参阅上面答案的"更少"部分.
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是一个灵活的命令行实用程序,最初由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的原因!我们都需要更多关于处理大量数据的建议......