提示和技巧
少
您为什么使用 editors 来查看(大)文件?
在 *nix 或 Cygwin 下,只需使用 less。 (有一句名言——“少即是多,或多或少”——因为“less”取代了早期的 Unix 命令“more”,另外还可以向上滚动。)在 less 下搜索和导航非常类似于Vim,但没有交换文件和使用的 RAM 很少。
GNU less 有一个 Win32 端口。请参阅上面答案的“更少”部分。
Perl
Perl 非常适合快速编写脚本,它的..(范围触发器)运算符提供了一个很好的选择机制来限制你必须涉足的杂物。
例如:
$ perl -n -e 'print if ( 1000000 .. 2000000)' humongo.txt | less
这将提取从第 100 万行到第 200 万行的所有内容,并允许您在 less 中手动筛选输出。
另一个例子:
$ perl -n -e 'print if ( /regex one/ .. /regex two/)' humongo.txt | less
当“正则表达式一”找到某些内容时开始打印,并在“正则表达式二”找到有趣块的结尾时停止。它可能会找到多个块。筛选输出...
日志解析器
这是您可以使用的另一个有用的工具。引用the Wikipedia article:
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% 以上。我们有一些大文件要在这里和那里调试。
还有更多...
请随时在此处添加更多工具和信息。这个答案是社区维基是有原因的!我们都需要更多关于处理大量数据的建议......