Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Распарсить регулярками строку лога. чего то в голову никак мысь не приходит. 
:(
    Опции темы
DarkAngel
Дата 23.3.2007, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть дефалтная строка лога апача.
8X.XXX.2.XX - - [23/Mar/2007:08:28:40 +0300] "GET http://сайт.надомене/blabal/lala.php" 200 172 "http://сайт.надомене/няня/ня.php?mode=reply&t=58" "Opera/9.10 (Windows NT 5.1; U; ru)"

Нужно распарсить так, что бы одна команда греп дергала ТО ЧТО ЭТО СТРОКА ГЕТ,статус запроса например 404, и час.
Должна распарсиваться вся строка что бы дергать только то и именно то что нужно, ведь гет может встретиться в имени файла, или еще где, так же как и время и статус....
Я уже сутки не могу нормально распарсить, если у кого нить есть мысли буду очень за них благодарен
PM MAIL   Вверх
nickless
Дата 23.3.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

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



DarkAngel, ну если решать задачу в лоб, то вот первое, что пришло в голову:
Код
<тут то, что выводит лог> | egrep '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+ - - \[[0-9]+/[A-Z][a-z]{2}/[0-9]{4}:[0-9]{2}:[0-9]{2}:[0-9]{2} \+[0-9]{4}\] "GET (ftp|http)://[^"]+" [0-9]{3} [0-9]{3} .+$' | sed -r 's/(^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+ - - \[[0-9]+\/[A-Z][a-z]{2}\/[0-9]{4}:)([0-9]{2})(:[0-9]{2}:[0-9]{2} \+[0-9]{4}\] ")(GET)( (ftp|http):\/\/[^"]+" )([0-9]{3})( )([0-9]{3})( .+$)/hour: \2; get: \4; status: \7/'

Я не знаком с форматом логов apache, так что протестируй немного, но думаю должно работать. 
Да, статус я так понимаю это первое число из тех двух, что между двумя адресами? Если второе, то измени \7 на \9 в конце строки.


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
DarkAngel
Дата 23.3.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Да эт ты жестко распарсил, пойду потестю, но на вскидку и правдо должно работать, хот наверняка где то будет камень предкновения.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

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


 




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


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

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