The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"поиск URL по шаблону из массива"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"поиск URL по шаблону из массива"
Сообщение от Scrooge emailИскать по авторуВ закладки(ok) on 21-Июн-04, 12:37  (MSK)
Задача:
Нужно проверить лог-файл на предмет наличия в нём адресов, совпадающих с адресами в фале-шаблоне.

формат лог-файла (tempresult):
192.168.0.17     http://teenshells.com/br.js
192.168.0.32     http://www.rsex.ru/modules.php?
...
Формат файла шаблона (urls):
teenshells.com
0-0adultvideo.com
0-anal.dk
...
Я навоял следующее (пока без оптимизации, я тока учусь...):
#!/usr/bin/perl
# Загоняем файл в массив
open (rejik, "urls") || die "Can't read file $!...";
@shablon = (<rejik>);
close (rejik);

open (temp, "tempresult") || die "Can't write file $!...";
    while(<temp>)
    {
        ($ipaddress, $httpaddress) = split(' ');
        print "\tТестируемый адрес - $httpaddress\n";
        for ($i=0;;$i++)
            {
                print "Сравниваем $httpaddress с шаблоном @shablon[$i]";
                if ($httpaddress =~ /@shablon[$i]/)
                    {
                    print "\t$ipaddress\t $httpaddress совпадает с @shablon[$i]\n";
                    }
            }
    }
close(temp);

Так вот условие "if ($httpaddress =~ /@shablon[$i]/)" не работает...
Судя по-всему загвоздка в синтаксисе...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "поиск URL по шаблону из массива"
Сообщение от Simps Искать по авторуВ закладки(ok) on 21-Июн-04, 13:21  (MSK)
>Задача:
>Нужно проверить лог-файл на предмет наличия в нём адресов, совпадающих с адресами
>в фале-шаблоне.
>
>формат лог-файла (tempresult):
>192.168.0.17     http://teenshells.com/br.js
>192.168.0.32     http://www.rsex.ru/modules.php?
>...
>Формат файла шаблона (urls):
>teenshells.com
>0-0adultvideo.com
>0-anal.dk
>...
>Я навоял следующее (пока без оптимизации, я тока учусь...):
>#!/usr/bin/perl
># Загоняем файл в массив
>open (rejik, "urls") || die "Can't read file $!...";
>@shablon = (<rejik>);
>close (rejik);
>
>open (temp, "tempresult") || die "Can't write file $!...";
>    while(<temp>)
>    {
>        ($ipaddress, $httpaddress) = split('
>');
>        print "\tТестируемый адрес -
>$httpaddress\n";
>        for ($i=0;;$i++)
>            
>{
>            
>    print "Сравниваем $httpaddress с шаблоном @shablon[$i]";
>            
>    if ($httpaddress =~ /@shablon[$i]/)
>            
>        {
>            
>        print "\t$ipaddress\t $httpaddress
>совпадает с @shablon[$i]\n";
>            
>        }
>            
>}
>    }
>close(temp);
>
>Так вот условие "if ($httpaddress =~ /@shablon[$i]/)" не работает...
>Судя по-всему загвоздка в синтаксисе...

Нужно юзать модификатор х
if ($httpaddress =~ /@shablon[$i]/x)

Правлено позже
И наверно надо $shablon[$i] а не @shablon[$i]

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "поиск URL по шаблону из массива"
Сообщение от Scrooge emailИскать по авторуВ закладки(ok) on 21-Июн-04, 14:42  (MSK)
>Нужно юзать модификатор х
>if ($httpaddress =~ /@shablon[$i]/x)
>
>Правлено позже
>И наверно надо $shablon[$i] а не @shablon[$i]

Есть!!! Спасиб!
Тока немного модифицировать ещё пришлось...
if ($httpaddress =~ /(\.@shablon[$i]\/)/xi)
А $shablon[$i] не катит...

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру