Собственно все мы постоянно решаем прямую задачу - есть данные и надо найти в них результат использя фильтр.
Мне вот понадобилось вычислить обратное - есть огромное кол-во фильтров и надо выяснить какой из них "выцепил" такой то результат.
Чего то с утра не лезут мысли в голову как такое можно сделать, кто небуль сталкивался ?
как выяснить какой фильт подошёл под результат.
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- freeman
- лейтенант
- Сообщения: 734
- Зарегистрирован: 2007-03-18 5:13:25
как выяснить какой фильт подошёл под результат.
Остатся должен только один ...
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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: как выяснить какой фильт подошёл под результат.
Прогнать результат через каждый из фильтров. Тот что подойдет - выдаст тот же результат, остальные ничего не выдадут.
Код: Выделить всё
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: как выяснить какой фильт подошёл под результат.
или если они в цикле, то сделать выход по удачному завершению, с распечаткой имени фильтра.
ядерный взрыв...смертельно красиво...жаль, что не вечно...
- freeman
- лейтенант
- Сообщения: 734
- Зарегистрирован: 2007-03-18 5:13:25
Re: как выяснить какой фильт подошёл под результат.
Ок, есть текстовый файл с фильтрами типаterminus писал(а):Прогнать результат через каждый из фильтров.
Код: Выделить всё
фильтр1
фильтр2
filers3
выборка9
....
Код: Выделить всё
результатище хз откуда
Код: Выделить всё
echo "Putin 12345 rm 3e4r5t6y" | grep Putin?
Остатся должен только один ...
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: как выяснить какой фильт подошёл под результат.
Вы бы лучше целиком всю стояющую перед вами задачу озвучили. Детально. А то вдруг ее можно регить совсем по-другому, не так как вы ее поставили... Напишите кто генерирует логи с "результатами". Приведите пример информации из этого лога...
Если продолжать биться в лоб, то пример скрипта:
Если продолжать биться в лоб, то пример скрипта:
Код: Выделить всё
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: как выяснить какой фильт подошёл под результат.
Например с помощью такого можно решить задачу: есть текстовый файл с url запрещённых ссылок, просто куски ссылкок перечисленные в столбик (см. примиер выше) , а результат это то, что squid не пускает на нужный сайт и хз какой фильтр надо скорректироватьterminus писал(а):Вы бы лучше целиком всю стояющую перед вами задачу озвучили. Детально. А то вдруг ее можно регить совсем по-другому, не так как вы ее поставили...

А за пример спасибо, завтра попробую, сейчас срочно оффлайн надо

Остатся должен только один ...