我有在日志目录中的多个访问日志,下面的命名约定如下:如何将多个日志文件视为Perl中的一个虚拟文件?
access.log.1284642120
access.log.1284687600
access.log.1284843260
基本上,日志是“旋转”,由每天的Apache,这样他们就可以在顺序排序。
我试图“一个接一个地阅读它们”,以便它们可以被视为一个日志文件。
my @logs = glob('logs/access.log.*');
上面的代码将所有glob的日志,但我不知道:
- 以何种顺序将日志组织,按字母顺序?
- 如果我想检查“来自独特IP的最新访问时间”,我该怎么做?
我有一个Perl脚本,可以读一个单一的访问日志,方便地检查这个(我的算法是有它使用IP地址作为密钥和访问时间值大的乱码,只是不停推键/值对...)。 但我不想只将这个过程中的所有访问文件合并到一个临时文件中。
有什么建议吗?提前谢谢了。
+1标点。就像金属乐队一样,SO的回答对变音器来说更好。 – FMc 2010-09-18 12:09:09
您还可以获得'$ .'的魔力,跟踪当前文件的当前行号。 – mob 2010-09-18 18:19:11