* Apacheログ解析 [#hcca68a0]
#!/usr/bin/perl
my $file = $ARGV[0];
open $fh, "<$file" or die "$!: $file";
while (my $line = <$fh>) {
if ($line =~
m!^[\d\.]+?\s-\s-\s # SRC-IP - NAME - PASS
\[[^\]]+\]\s # [ DATE ]
"\w+?\s # HTTP REQUEST CMD
(/[^?]*)? # FILE PATH
[?|\S]*\s # QUERY STRING
[^"]*"\s # HTTP VERSION
(\d+?)\s # HTTP RESULT CODE
(\d+?)\s # FILE SIZE
".+?"\s # ?
"[^"]*?" # USER-AGENT
!gxms) {
$result_code = $2;
$file_size = $3;
if ($result_code == 404) {
print "$1\n";
#print "$line\n";
}
}
}
close $fh;