The OpenNET Project / Index page

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

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

"advanced awk"  +/
Сообщение от raba (ok) on 06-Май-10, 14:01 
Как с помощью awk извлечь !ТОЛЬКО! те строки из файла, который появились 15 назад, если текущее время 13:42:00

файл:
>10:53:12 info: some info info: 192.168.1.1 > 192.168.2.1: information
>12:13:09 info: some info info: 192.168.1.1 > 192.168.2.1: information
>13:40:47 info: some info info: 192.168.1.1 > 192.168.2.1: information

Я делаю так:
> export curtime=`date "+%H:%M:%S" | gawk -F: 'res=(($1*3600)+($2*60)+$3) {print res}'`; gawk -F: 'logtime=(($1*3600)+($2*60)+$3); { if ( (result=ct-logtime) < "600" ) print $0," ",ct,"-",logtime,"=",result}' ct=$curtime file

результат таков:
>10:53:12 info: some info info: 192.168.1.1 > 192.168.2.1: information
>10:53:12 info: some info info: 192.168.1.1 > 192.168.2.1: information   49360 - 39192 = 10168
>12:13:09 info: some info info: 192.168.1.1 > 192.168.2.1: information
>12:13:09 info: some info info: 192.168.1.1 > 192.168.2.1: information   49360 - 43989 = 5371
>13:40:47 info: some info info: 192.168.1.1 > 192.168.2.1: information
>13:40:47 info: some info info: 192.168.1.1 > 192.168.2.1: information   49360 - 49247 = 113

А нужно:
>13:40:47 info: some info info: 192.168.1.1 > 192.168.2.1: information   49360 - 49247 = 113

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

  • advanced awk, Andrey Mitrofanov, 14:23 , 06-Май-10, (1)  
    • advanced awk, raba, 14:31 , 06-Май-10, (2)  
      • advanced awk, Andrey Mitrofanov, 14:49 , 06-Май-10, (3)  
        • advanced awk, raba, 15:53 , 06-Май-10, (4)  
          • advanced awk, allez, 19:23 , 06-Май-10, (5)  

Сообщения по теме [Сортировка по времени | RSS]


1. "advanced awk"  +/
Сообщение от Andrey Mitrofanov on 06-Май-10, 14:23 
>!ТОЛЬКО! те строки из файла, который появились 15 назад, если текущее время 13:42:00

Руска языка не родная моя говорить с трудом заикание а писать вообще !КОШМАР!.

>файл:
>>10:53:12 info: some info info: 192.168.1.1 > 192.168.2.1: information
>>12:13:09 info: some info info: 192.168.1.1 > 192.168.2.1: information
>>13:40:47 info: some info info: 192.168.1.1 > 192.168.2.1: information

Если время до 10 утра пишется с ведущим 0, ...
Если на дату не обращаем внимания, ...
Если постановка задачи, таки, "появились не более 15 минут назад", ...
Если формат времени 24-х-часовой - с 00 до 23, ...

то... мммм.. Я бы сравнивал время прямо как строку, примерно так:
gawk '$1>=strftime("%T", systime()-15*60)' <file.txt

Пожалуй, даже так:
gawk 'BEGIN{tm=strftime("%T", systime()-15*60)}$1>=tm' <file.txt

Не проверял, может, и не того чего-нибудь.

>Я делаю так:
>> export curtime=`date "+%H:%M:%S" | gawk -F: 'res=(($1*3600)+($2*60)+$3) {print res}'`; gawk -F: 'logtime=(($1*3600)+($2*60)+$3); { if ( (result=ct-logtime) < "600" ) print $0," ",ct,"-",logtime,"=",result}' ct=$curtime file

man gawk -- рекомендую!

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

2. "advanced awk"  +/
Сообщение от raba (ok) on 06-Май-10, 14:31 
>Пожалуй, даже так:
>gawk 'BEGIN{tm=strftime("%T", systime()-15*60)}$1>=tm' <file.txt
>
>man gawk -- рекомендую!

..А интересно Андрей, а не на родном русском, как бы вы говорили....но д'ладно!
За ответ,спасибо, работает!

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

3. "advanced awk"  +/
Сообщение от Andrey Mitrofanov on 06-Май-10, 14:49 
>>Пожалуй, даже так:
>>gawk 'BEGIN{tm=strftime("%T", systime()-15*60)}$1>=tm' <file.txt
>>
>>man gawk -- рекомендую!
>
>..А интересно Андрей, а не на родном русском, как бы вы говорили....

Ну, как... Контролируя понимабельность и сложность синтаксических конструкций. Как то: короткими предложениями, используя простые обороты и понятные [мне] слова...

"Месью! Же не манж па сис жур! Гибен зи мир битте ет вас копикс---"

И да,  думаю, на иностранном -- без практики -- сильно тормозил бы и заикался.

>За ответ,спасибо, работает!

Пожалуйста.

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

4. "advanced awk"  +/
Сообщение от raba (ok) on 06-Май-10, 15:53 
>"Месью! Же не манж па сис жур! Гибен зи мир битте ет
>вас копикс---"
>

..Готино, кефи ме! Чао пич! ;)

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

5. "advanced awk"  +/
Сообщение от allez (ok) on 06-Май-10, 19:23 
>>"Месью! Же не манж па сис жур! Гибен зи мир битте ет
>>вас копикс---"
>>
>
>..Готино, кефи ме! Чао пич! ;)

Хм, братушка-болгарин на огонек заглянул? :-)

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

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

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




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

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