Если формат файла именно такой, то можно воспользоваться следующим набором шаблонов
Код:
$sPath = @ScriptDir & '\log.txt'; положить рядом со скриптом файл с данными
$hFile = FileOpen($sPath, 0)
;$sText = '16:28:50 10.02.2010 188.17.248.182'
$sPattern_Time = '(\d\d:\d\d:\d\d)'; шаблон для вычленения времени
$sPattern_Date = '(\d\d\.\d\d\.\d\d\d\d)'; шаблон для вычленения даты
$sPattern_IP = '(\d+\.\d+\.\d+\.\d+)'; шаблон для вычленения IP
$sSum_allIP = ''; строка для хранения всех IP
$sSum_needIP = ''; строка для хранения повторяющихся IP
While 1
$sLine = FileReadLine($hFile); построчное считывание файла
If @error = -1 Then ExitLoop
$sTime = StringRegExpReplace($sLine, $sPattern_Time & '\s+' & $sPattern_Date & '\s+' & $sPattern_IP, '\1'); ищем время
$sDate = StringRegExpReplace($sLine, $sPattern_Time & '\s+' & $sPattern_Date & '\s+' & $sPattern_IP, '\2'); ищем дату
$sIP = StringRegExpReplace($sLine, $sPattern_Time & '\s+' & $sPattern_Date & '\s+' & $sPattern_IP, '\3'); ищем IP
If StringInStr($sSum_allIP, $sIP) Then; если есть повтор в IP
If Not StringInStr($sSum_needIP, $sIP) Then $sSum_needIP &= $sIP & '|'; и если мы ранее не занесли этот IP в список, то заносим
EndIf
$sSum_allIP &= $sIP & '|'; включаем новый IP в список
WEnd
$sResult = StringTrimRight($sSum_needIP, 1); убираем последний pipe (|) для красоты
If StringLen($sResult) = 0 Then
MsgBox(0, '', 'There no identical IPs'); нет повторяющихся IP
Else
MsgBox(0, '', $sResult); список повторяющихся IP разделенных pipe'ом (|)
EndIf