The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Скрипт на AWK по разбору логов."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Скрипт на AWK по разбору логов." 
Сообщение от Okean Искать по авторуВ закладки(ok) on 09-Фев-05, 12:59  (MSK)
Добрый день!
Помогите пожалуйста, новичку. Совсем запутался.
Помогите пожалуйста написать скрипт на AWK для разбора логов.
Дело в том, что в логах нет строгой формы по полям.
Подправьте скрипт пожалуйста.
$ cat file.log | awk 'BEGIN{FS="\""} {gsub(/: .*/,"",$1); split($2,a,"[\[\]]"); printf "%s [%s] %s\n",$1,a[3],$3}'
Вот куски лога. Количество полей разное.
25 Jan 15:16:33: [ 5151]:ERR06:MSG: 005 "050125 151451 0e 0000000000000020 0/1/0 [Trans not complete] [3(-4)-write err.,1,050125151441,025403,1189,03,9554] [040080003D0C87016600]" [J025403]
25 Jan 15:37:19: [ 5272]:ERR06:MSG: 005 "050125 153620 40 0000000000809041 1/1/0 [Disp failure] [SBDISRD) R(02000101) F(CCNG.CngDispen)] [01A01805050500003D5A]" [J019661]
25 Jan 15:46:46: pos16 [ 5360]:ERR06:MSG: 005 "050125 154644 07 0000000000000021 1/0/0 [Cover door opened] [doors: 1nn,0]" [J025403]
Хотелось бы на выходе в другом файле увидеть:
25 Jan 15:16:33 [Trans not complete] [J025403]
25 Jan 15:37:19 [Disp failure]       [J019661]
25 Jan 15:46:46 [Cover door opened]  [J025403]
Что здесь написано не правильно, чтобы получить желаемый результат?
Очень -очень нужно.
За ранее спасибо.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Скрипт на AWK по разбору логов." 
Сообщение от sas emailИскать по авторуВ закладки(ok) on 09-Фев-05, 18:00  (MSK)
>Добрый день!
>Помогите пожалуйста, новичку. Совсем запутался.
>Помогите пожалуйста написать скрипт на AWK для разбора логов.
>Дело в том, что в логах нет строгой формы по полям.
>Подправьте скрипт пожалуйста.
>$ cat file.log | awk 'BEGIN{FS="\""} {gsub(/: .*/,"",$1); split($2,a,"[\[\]]"); printf "%s [%s]
>%s\n",$1,a[3],$3}'
>Вот куски лога. Количество полей разное.
>25 Jan 15:16:33: [ 5151]:ERR06:MSG: 005 "050125 151451 0e 0000000000000020 0/1/0 [Trans
>not complete] [3(-4)-write err.,1,050125151441,025403,1189,03,9554] [040080003D0C87016600]" [J025403]
>25 Jan 15:37:19: [ 5272]:ERR06:MSG: 005 "050125 153620 40 0000000000809041 1/1/0 [Disp
>failure] [SBDISRD) R(02000101) F(CCNG.CngDispen)] [01A01805050500003D5A]" [J019661]
>25 Jan 15:46:46: pos16 [ 5360]:ERR06:MSG: 005 "050125 154644 07 0000000000000021 1/0/0
>[Cover door opened] [doors: 1nn,0]" [J025403]
>Хотелось бы на выходе в другом файле увидеть:
>25 Jan 15:16:33 [Trans not complete] [J025403]
>25 Jan 15:37:19 [Disp failure]       [J019661]
>
>25 Jan 15:46:46 [Cover door opened]  [J025403]
>Что здесь написано не правильно, чтобы получить желаемый результат?
>Очень -очень нужно.
>За ранее спасибо.

Попробуйте

awk 'BEGIN{FS="\""} {gsub(/: .*/,"",$1); split($0,a,"[\\[\\]]"); printf "%s [%s] %s\n",$1,a[2],$3}'

удачи
---  sas

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру