提示和技巧
少
你为什么要使用编辑器来查看(大)文件?
在* nix或Cygwin下,只需使用less . (有一句名言 - "less is more, more or less" - 因为"less"取代了早期的Unix命令"more",另外还可以向上滚动 . )在less下搜索和导航与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的原因!我们都需要更多关于处理大量数据的建议......