Отправляет email-рассылки с помощью сервиса Sendsay

KirovLUG: пользователи Linux в Вятке

За 2005-01-12

Генерация индексов для проекта lindocs.

Может кому покажется интересным.

В качестве индексов в базе данных ссылок в проект lindocs планируется
использовать простые английские слова, аббревиатуры, общепринятые
сокращения. Поэтому, скорее всего, у составителей может возникнуть
проблема с слишком творческим подходом к этому вопросу.

Одним из способов предотвратить это - заранее создать достаточно большую
коллекцию индексных слов. Например, ее можно извлечь из статей
опубликованных на сайте www.opennet.ru, т.к. там материалы уже
проиндексированы (индексы прямо указаны после ключевого слова
"Keywords:" для txt-вариантов статей).

Эти материалы у меня уже скачаны, тогда, объединив сортированную и
несортированную части проекта lindocs, можно написать несложный конвейер
для командной строки. Этот конвейер не только извлекает индексы, но и
выводит некоторую статистику частоты используемых ключевых слов.

$ for i in `find . -name "*.txt"`; do head -n 1 $i; done | \
awk '{ for(i=2;i<=NF;i++) { print $i } }' | \
sort | uniq -c | \
sed 's/^ \{1,\}//g' | \
awk '{ print substr("000",1,3-length($1))$1" "$2 }' | \
sort

Результаты будут примерно такими:

028 php
029 auth
029 database
029 install
029 patch
030 web
032 apache
032 win
034 mysql
044 perl
066 mail
100 freebsd
144 linux

В дальнейшем результаты конвейера можно будет легко вставить в SQLite
базу данных.

   2005-01-12 17:27:21 (#295614)

скрипт: исправление глюков в логе REJIK

Исправление глюков в лог-файле программы REJIK.

Есть такая программа REJIK, которая в связке с SQUID используется для
удаления банеров, запрета доступа к некоторому контенту (порнография,
музыка, фильмы) - одним словом для фильтрации трафика.

В старых версиях программы (меньше 3.1) была найдена неприятная ошибка:
при опредленном сформированном запросе (использование непечатаемых
символов %0A) в лог-файл, генерируемый программой, помещалась не одна, а
несколько строк. Например:

2004-11-30 19:23:58 BANNER: 10.0.0.1 - http://some.ua/ (pcre rule#: 27)
2004-11-30 19:23:58 BANNER: 10.10.0.1 - http://bs.yandex.ru/163?ncid=0
63
64
66
164
182
188 (urls rule: bs.yandex.ru)
2004-11-30 19:24:42 BANNER: 10.0.0.1 - http://wm.ban/ (pcre rule#: 18)
Лог-файлы такого вида не удобно просматривать и парсить (особенно уже
готовыми программами).

Я написал автору про эту ошибку, и он, по-моему, ее исправил, но что
делать с уже сгенерированными лог-файлами? Не вручную же "склеивать"
строки? Поэтому я написал маленький скрипт, который сам это делает.

begin rejik.pl #!/usr/bin/perl

# Использовать: ./rejik.pl filename

# Скрипт исправляющий log-файлы после работы rejik старых версий:
# некоторые строки раздяелялись на несколько, что затрудняло дальнейший
# парсинг

# Файлы с которыми работаем
$f_name = @ARGV[0];
$tmp_f_name = $f_name.".tmp";

# Строка предшествующая проверяемой
$b_s = "";

open(F_IN,$f_name) || die "cannot open $f_name for reading: $!";
open(F_OUT,">".$tmp_f_name) || die "cannot open $tmp_f_name for write: $!";
while (<F_IN>) {
$s = $_;
# Если строка не начинается с даты (ГГГГ-ММ-ДД), то склеиваем ее с
# предыдущей,
# Иначе выводим на экран предыдущую строку
if ( !($s =~ /^\d{4}-\d{2}\-\d{2}/)) {
$s = substr($b_s,0,length($b_s)-1).$s;
} else {
print F_OUT $b_s;
}
# Запоминаем предыдущую строку
$b_s = $s;
}
print F_OUT $b_s;
close(F_OUT) || die "can't close $tmp_f_name: $!";
close(F_IN) || die "can't close $f_name: $!";

# Переименование временного результирующего файла в исходный
rename $tmp_f_name, $f_name;
end rejik.pl --
С уважением, Kolotov Alexandr aka mr. Эбола
отвечать: akmypo***@m*****.ru
ICQ: 100349254

| Registered Linux user # 236664 |
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.kirovlug
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.kirovlug--unsub@subscribe.ru?subject=comp.soft.linux.kirovlug

http://subscribe.ru/ http://subscribe.ru/feedback

   2005-01-12 12:18:23 (#295439)

Re: linuxовка

Kolotov Alexandr пишет:

>Первая большая линуксовка в новом году. Будем подводить итоги прошлого
>года. Строить планы на этот.
>
>Очередное сборище linuxового народа состоится на Театральной площади у
>сцены в ПЯТНИЦУ (14 января) в 18.00. Приглашаются все желающие.
>
>Кто может опоздать - предупредите заранее - на сколько, чтобы мы вас
>подождали.
>
>
>
Буду обязательно, но наверное опоздаю чуть-чуть. Насколько опоздаю,
сообщу позднее.

p.s. Привезу SuSE 9.2

Stranger.

   2005-01-12 10:10:38 (#295362)

сайт K.O.S.C./KirovLUG

повторяю для новеньких и тех кто, забыл...

сайт Kirov Open Source Community / Kirov Linux User Group находится по
адресу http://kirov.lug.ru/
Там же есть своя база знаний (http://kirov.lug.ru/wiki/), в которую Вы
можете поместить свои труды (статьи, рассказы, скрипты) или просмотреть
уже добавленные другими членами K.O.S.C/KirovLUG.
Если Вас не устраивает общение посредством email, то можете использовать
форум (http://kirov.lug.ru/phorum/)

   2005-01-12 09:48:01 (#295347)

linuxовка

Первая большая линуксовка в новом году. Будем подводить итоги прошлого
года. Строить планы на этот.

Очередное сборище linuxового народа состоится на Театральной площади у
сцены в ПЯТНИЦУ (14 января) в 18.00. Приглашаются все желающие.

Кто может опоздать - предупредите заранее - на сколько, чтобы мы вас
подождали.

   2005-01-12 09:10:57 (#295328)