как выяснить какой фильт подошёл под результат.

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

как выяснить какой фильт подошёл под результат.

Непрочитанное сообщение freeman » 2008-01-16 10:58:31

Собственно все мы постоянно решаем прямую задачу - есть данные и надо найти в них результат использя фильтр.
Мне вот понадобилось вычислить обратное - есть огромное кол-во фильтров и надо выяснить какой из них "выцепил" такой то результат.
Чего то с утра не лезут мысли в голову как такое можно сделать, кто небуль сталкивался ?
Остатся должен только один ...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: как выяснить какой фильт подошёл под результат.

Непрочитанное сообщение terminus » 2008-01-16 11:03:07

Прогнать результат через каждый из фильтров. Тот что подойдет - выдаст тот же результат, остальные ничего не выдадут.

Код: Выделить всё

echo "Putin 12345 rm 3e4r5t6y" | grep Putin
Putin
echo "Putin 12345 rm 3e4r5t6y" | grep rm
rm

echo Putin | grep Putin
Putin
echo Putin | grep rm
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: как выяснить какой фильт подошёл под результат.

Непрочитанное сообщение schizoid » 2008-01-16 12:37:25

или если они в цикле, то сделать выход по удачному завершению, с распечаткой имени фильтра.
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: как выяснить какой фильт подошёл под результат.

Непрочитанное сообщение freeman » 2008-01-16 15:15:56

terminus писал(а):Прогнать результат через каждый из фильтров.
Ок, есть текстовый файл с фильтрами типа

Код: Выделить всё

фильтр1
фильтр2
filers3
выборка9
....
и результат

Код: Выделить всё

результатище хз откуда
Абсолютно не силён в програмировании shell -ом, а вручную прогонять .. там фильтров несколько тысяч ... не подскажите как скрипт хотя бы при возможности фильтровать по типу

Код: Выделить всё

echo "Putin 12345 rm 3e4r5t6y" | grep Putin?
На самом деле там и выражения типа casta\.ru\/design\/articles\/.*\/sexy\-gallery\/.* встречаются, но те я вручную отфильтрую
Остатся должен только один ...

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: как выяснить какой фильт подошёл под результат.

Непрочитанное сообщение terminus » 2008-01-16 15:48:58

Вы бы лучше целиком всю стояющую перед вами задачу озвучили. Детально. А то вдруг ее можно регить совсем по-другому, не так как вы ее поставили... Напишите кто генерирует логи с "результатами". Приведите пример информации из этого лога...

Если продолжать биться в лоб, то пример скрипта:

Код: Выделить всё

for rez in `cat ./rezultati.txt`
do

for filt in `cat ./filters.txt`
do

echo $rez | grep -e $filt

if [ "$?" -eq "0" ]; then
echo "rezultat $rez na pravele $filt" >> ./output.txt
fi

done

done
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: как выяснить какой фильт подошёл под результат.

Непрочитанное сообщение freeman » 2008-01-17 17:37:00

terminus писал(а):Вы бы лучше целиком всю стояющую перед вами задачу озвучили. Детально. А то вдруг ее можно регить совсем по-другому, не так как вы ее поставили...
Например с помощью такого можно решить задачу: есть текстовый файл с url запрещённых ссылок, просто куски ссылкок перечисленные в столбик (см. примиер выше) , а результат это то, что squid не пускает на нужный сайт и хз какой фильтр надо скорректировать =)
А за пример спасибо, завтра попробую, сейчас срочно оффлайн надо =)
Остатся должен только один ...