我有一個IIS Log 大概長得像這樣:
2015-06-05 05:41:36 W3SVC1 172.16.18.11 GET /Menu/index.htm - 80 - 172.16.13.74 Mozill/4.0 .....
我用
while(<FILE>){
if($_ =~ /(\d+\.\d+\.\d+\.\d+)/g){
...}
$data .= $& . "\n";
$ip{$&}++;
$cnt++; }
但都只能比對到第一個IP "172.16.18.11" ,但我希望比對到的是"172.16.13.74" 後面這個,
請問要怎樣改比較好呢 ?
Perl新手感謝不盡
我是覺得不需要用到 regexp 啦..用空白去切欄位就行了
或是把你的程式改成類似這樣
<pre class="c" name="code">
if(/\d+\.\d+\.\d+\.\d+.*?(\d+\.\d+\.\d+\.\d+)/) {
print $1; // 第二個 ip
}