in reply to Perl printing in the wrong order
perl -ne "chomp; my ($ip) = (split q| |,$_)[2]; my $num; if ($ip=~m/\ .(\d+)$/){$num=$1} print qq|$ip\t$num| . `date ` if($num >= 1 && $num +<= 2);" fakesquidlog.txt Prints ======== 192.168.1.1 1Fri Apr 29 09:34:49 Central Daylight Time 2011 192.168.1.2 2Fri Apr 29 09:34:49 Central Daylight Time 2011 (Date format explain: I'm on Windows)
Fake squid log contains: 134135 22 192.168.1.1 XX 200 HTTP foobar.com johnny huh? JUNK 134136 24 192.168.1.2 XX 200 HTTP foobar.com johnny huh? JUNK2 134137 25 192.168.1.3 XX 200 HTTP foobar.com johnny huh? JUNK3
You can easily change the line to append to a file using the $ip with >>.
There is little sense in writing a large program for something that should be done as a one-liner.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Perl printing in the wrong order
by druisgod (Initiate) on Apr 29, 2011 at 16:47 UTC |