Apacheログ解析#!/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; |
|