LINUX.ORG.RU
ФорумTalks

[специалистам по всему] средний размер IM-сообщения


0

0

в общем, нужно мне определить/найти средний размер сообщения в IM-системах (а еще лучше - распределение по размеру). Тип системы (ICQ, Jabber или еще что-то) не имеет значения. Гугление результатов особых не дало, каждая вторая ссылка про средний размер полового члена, что на английском, что на русском :)

Так что я решил провести собственное исследование. На своем хистори из пиджина. Логи лежат в каталогах вида ~/.purple/logs/icq/номер_аккаунта/номер_контакта . Сообщения лежат в файлах, каждое сообщение в виде "(время) псевдоним: сообщение". Надо бы посчитать по ним статистику. Вопрос лоровским аналитегам: как можно это сделать наиболее быстро и эффективно? (LISP ? bash? perl? или еще что нибудь)

★★★★★

Re: [специалистам по всему] средний размер IM-сообщения

Perl + find ~/.purple/logs/icq/ -name "*.log" -exec ./script.pl {} \;

Основная проблема (ежели оно в юникоде) - посчитать количество не байт, а символов.

svr4 ()

Re: [специалистам по всему] средний размер IM-сообщения

IFS=$'\n'; sum=0; count=0; for msg in `cat ~/tmp/data|sed 's/^(.*).*: \(.*\)$/\1/'`; do sum=$((sum+${#msg})); count=$((count+1)) done; echo $((sum/count) )

Как то так :)

anotheranonymous ()

Re: [специалистам по всему] средний размер IM-сообщения

а gajim в sqlite хранит историю, так что вообще должно быть просто :)

Binary ★★★★★ ()

Re: [специалистам по всему] средний размер IM-сообщения

Попроси у JB логи icq.darkmachine.org за последние полгода ;)

pained ()

Re: [специалистам по всему] средний размер IM-сообщения

неа, не так. мой вариант:

echo $(( $(for file in `find .purple/logs/icq/ -type f`; do sed -e 's/(.*) .*: //' -e '/^Conversation with .*$/d' $file; grep -e '(.*) .*: ' $file >> /tmp/t1; done | wc -m) / $(wc -l /tmp/t1 | cut -f1 '-d ') )); rm /tmp/t1

может, не очень элегантно, но рабочее и достаточно точное

val-amart ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.