#!/usr/bin/perl use strict; use warnings; use feature 'switch'; use Data::Dumper; my %ok; my %not_ok; while (<DATA>) { my ($src_ip, $action) = (split /\s+/)[1,4]; if ($action =~ /\[\d+\](\w+)/) { given ($1) { when ('sent') { ++$ok{$src_ip} unless exists $not_ok{$src_ip}; } when ('created') { delete $ok{$src_ip} if exists $ok{$src_ip}; ++$not_ok{$src_ip}; } } } } print Dumper(\%ok, \%not_ok); __DATA__ ex100525.log:09:42:26 192.168.66.176 webcountry 192.168.0.166 [5933]cr +eated /140NOE77111_V460_+IE38/FTP+script/put771.ftp 226 0 ex100525.log:09:42:27 192.168.66.176 webcountry 192.168.0.166 [5933]cr +eated /140NOE77111_V460_+IE38/FTP+script/update_noe77111_module.doc 2 +26 0 ex100525.log:09:42:27 192.168.66.176 webcountry 192.168.0.166 [5933]cr +eated /140NOE77111_V460_+IE38/FTP+script/upfwnoe.bat 226 0 ex100525.log:09:42:27 192.168.66.176 webcountry 192.168.0.166 [5933]CW +D /140NOE77111_V460_+IE38/Release+Note 550 2 ex100525.log:09:42:27 192.168.66.176 webcountry 192.168.0.166 [5933]CW +D /140NOE77111_V460_+IE38/Release+Note 250 0 ex100525.log:09:42:27 192.168.66.176 webcountry 192.168.0.166 [5933]se +nt /140NOE77111_V460_+IE38/Release+Note/RN_140NOE77111_V46.doc 226 0 ex100525.log:09:42:27 192.168.7.16 webcountry 192.168.0.166 [5933]sent + /140NOE77111+V4.6/140NOE77111_V460_+IE38 250 0 ex100525.log:09:42:27 192.168.7.16 webcountry 192.168.0.166 [5933]CWD +/140NOE77111+V4.6/140NOE77111_V460_+IE38 250 0
In reply to Re: Match a Log Entry Only If a Certain Keyword is not Present
by eff_i_g
in thread Match a Log Entry Only If a Certain Keyword is not Present
by Dru
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |