Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск и подсчет одинаковых значений, как? 
:(
    Опции темы
borsch
Дата 21.5.2013, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.5.2013

Репутация: нет
Всего: нет



Доброго дня всем, прошу помощи в решении задачи,
на входе у нас есть log.csv в котором содержаться записи вида:

                                                                              "Дата и время,Компьютер,Домен,Имя входа в систему,Платформа"     
                                                                               16.05.2013 8:47:31,PTP-SEKR-1,ptp\Users\,petrova,WinXP 5.1.2600
                                                                                16.05.2013 10:28:30,UKS-TO-5,uks\Users\,UKS-TO-5,WinXP 5.1.2600
                                                                                .......

На выходе необходимо получить подсчет  сколько  в сутки у нас таких записей  для конкретного домена   с выводом в файл       

                                                                                            " Дата, Кол-во в домене А, Домене Б, домене В, Всего"
                                                                                             16.05.2013,  123,                 120,               30,        253
                                                                                              17.05.2013,  146                  67,                 34,        247
                                                                                                .......


Если не кодом, то хотя бы ссылкой на нужную статью направьте.
Спасибо.

PM MAIL   Вверх
arto
Дата 21.5.2013, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



как-то так:
perl -lne'@a=split",";$h{(split"\\s+",$a[0])[0]}->{$a[3]}++;$d{$a[3]}=1;END{foreach my$d(keys%h){print$d,": ",join",",map{$h{$d}->{$_}||0}keys%d}}'
PM MAIL ICQ   Вверх
Pfailed
Дата 21.5.2013, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Text::CSV для парсинга.
Для хранения хэш с ключем - датой, значением - хэш, в котором ключем - домен, значением - кол-во повторений.
После заполнения хэша вывод тем же Text::CSV



--------------------
PM MAIL   Вверх
borsch
Дата 21.5.2013, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 21.5.2013

Репутация: нет
Всего: нет



Цитата(arto @ 21.5.2013,  13:16)
как-то так:
perl -lne'@a=split",";$h{(split"\\s+",$a[0])[0]}->{$a[3]}++;$d{$a[3]}=1;END{foreach my$d(keys%h){print$d,": ",join",",map{$h{$d}->{$_}||0}keys%d}}'

Вы не могли бы более подробно разъяснить работу скрипта?

Добавлено через 1 минуту и 10 секунд
Цитата(Pfailed @ 21.5.2013,  13:17)
Text::CSV для парсинга.
Для хранения хэш с ключем - датой, значением - хэш, в котором ключем - домен, значением - кол-во повторений.
После заполнения хэша вывод тем же Text::CSV

Если не трудно пример наваять можно?
PM MAIL   Вверх
arto
Дата 21.5.2013, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



построчное чтения в хеш день->домен->количество входов и хеш доменов.
в конце -- выдача статистики из хеша, домены из первого хеша индексируются ключами из второго хеша.
PM MAIL ICQ   Вверх
Pfailed
Дата 22.5.2013, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Цитата

Если не трудно пример наваять можно? 

свою попытку покажите


--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.