![]() |
Модераторы: ginnie |
![]() ![]() ![]() |
|
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
Как сравнить текстовые значения и подсчитать.
Есть лог файл, у него структура такая: 2010-12-08 08:01:32 SPYWARE: 11.11.11.1 user_bb http://www.ru 2010-12-08 09:01:18 HELP: 11.11.11.3 kreen_sa http://www.ru 2010-12-08 18:01:34 DEAD: 11.11.11.1 user_bb http://www.ru Делаю: ($date,$time,$pravilo,$ip,$user,$address)=split; Теперь мне надо сравнить значение $user (если они совпадают то просто складывать) и вывести их на экран. Пробывал так if $user eq $user $zed +=$user Только учусь программированию на perl. Пример (что должно вывести на экран) : user_bb 2 kreen_sa 1 |
|||
|
||||
alezzz |
|
||||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 11 Всего: 14 |
Выхлоп:
|
||||
|
|||||
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
alezzz,
Огромное спасибо. |
|||
|
||||
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
Ещё вопрос появился:
Как отсюда: #!/usr/bin/perl my %users = (); while (<DATA>) { ($date,$time,$pravilo,$ip,$user,$address)=split; $users{$user}++; } foreach $key (keys %users) { print "$key $users{$key}\n"; } __DATA__ 2010-12-08 08:01:32 SPYWARE: 11.11.11.1 user_bb http://www.ru 2010-12-08 09:01:18 HELP: 11.11.11.3 kreen_sa http://www.ru 2010-12-08 18:01:34 DEAD: 11.11.11.1 user_bb http://www.ru получить: user_bb SPYWARE: 1 DEAD: 1 kreen_sa HELP: 1 |
|||
|
||||
alezzz |
|
||||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 11 Всего: 14 |
Пока-что так:
У меня вопрос к специалистам по оптимальности такого подхода, может есть более изящное решение? Спрашиваю потому, что примерно этим в основном на перле и занимаюсь, перелопачиваю текст (логи и т.д.) и привожу их к более читаемому виду. Это сообщение отредактировал(а) alezzz - 14.12.2010, 11:35 |
||||
|
|||||
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
alezzz,
Спасибо огромное. Это сообщение отредактировал(а) treee - 14.12.2010, 13:34 |
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
treee, а вы хотите чтобы вам под каждую задачу скрипт писали? может подумаете?
|
|||
|
||||
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
shamber,
Задача у меня одна изучения - PERL. Прежде чем писать я сам пробую сделать, если не получается я спрашиваю.... Это сообщение отредактировал(а) treee - 14.12.2010, 13:33 |
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
тут был код которого теперь нет
А если стоит задача обучения, то стоит начать с книжек по perl. Там про хеши и прочее пишут Это сообщение отредактировал(а) shamber - 14.12.2010, 13:36 |
|||
|
||||
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
shamber,
уже понял, просто тупанул.... |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: нет Всего: 162 |
alezzz, Модератор: Пожалуйста, один топик - один вопрос.
|
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 11 Всего: 14 |
||||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |