powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Удалить в логе ненужные сообщения на разные моменты времени. Как ?
6 сообщений из 6, страница 1 из 1
Удалить в логе ненужные сообщения на разные моменты времени. Как ?
    #37523332
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

В текстовом логе имеются вот такие примерно сообщения:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
TESTSRV	Sat Nov 05 16:26:47 2011
	INET/inet_error: read errno = 10054


TESTSRV	Sat Nov 05 17:42:27 2011
	Database: C:\RDBMS\FIREBIRD\DATA\TEST0.FDB
	internal Firebird consistency check (next transaction older than oldest active transaction (266), file: cch.cpp line: 6503)


TESTSRV (Client)	Sat Nov 05 17:43:37 2011
	INET/inet_error: send errno = 10054


TESTSRV (Client)	Sat Nov 05 17:43:43 2011
	REMOTE INTERFACE/gds__detach: Unsuccesful detach from database. 
	Uncommitted work may have been lost


TESTSRV (Client)	Sat Nov 05 17:43:44 2011
	INET/inet_error: send errno = 10054


TESTSRV (Client)	Sat Nov 05 17:43:54 2011
	INET/inet_error: connect errno = 10061


TESTSRV (Client)	Sat Nov 05 17:43:57 2011
	INET/inet_error: connect errno = 10061

ВОПРОС linux-чайника. Как убрать из лога всё, кроме выделенного синим цветом ?

Т.е. как убрать такие сообщения, в каждом из которых:
1) в первой строке "TESTSRV" или "TESTSRV (Client)"
2) во второй строке "INET/inet_error"
- и заодно грохнуть лишние пустые строки выше и ниже их.

Чем это делается в Linux'e, можно пример для рытья ?
...
Рейтинг: 0 / 0
Удалить в логе ненужные сообщения на разные моменты времени. Как ?
    #37523651
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то типо такого скриптика
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
#!/bin/sh

cat a.log | awk '{
    if (f==0 && substr($0,1,7) == "TESTSRV") { f=1; s=$0; next;}
    if (length($0)==0) { f=0; }
    if (f==1 )
     if (index($0,"inet_error")>0) { f=0; next;} else { printf("\n%s\n",s);}
    if (f==0) next;
    print $0;
    f++;
}'

...
Рейтинг: 0 / 0
Удалить в логе ненужные сообщения на разные моменты времени. Как ?
    #37525250
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanek842,

работает, большое спасибо!

А еще небольшой вопрос: как оставить только те строки, у которых число и месяц равны либо текущему, либо предыдущему дню ?
Например, если сейчас "Nov 14", то выкинуть из рассмотрения все строки, за исключением "Nov 14" и "Nov 13". А если дата будет "Dec 1", то выкинуть все, за исключением "Dec 1" и "Nov 30" - можно ли так сделать ?
...
Рейтинг: 0 / 0
Удалить в логе ненужные сообщения на разные моменты времени. Как ?
    #37525690
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
#!/bin/sh
dt1=`LANG= date -d '1 day ago' +"%b %d"`
dt2=`LANG= date +"%b %d"`
#echo $dt1 $dt2
cat a.log | awk '{
    if (f==0 && substr($0,1,7) == "TESTSRV") {
        if ( f1==0 && (index($0,"'"$dt1"'")>0 || index($0,"'"$dt2"'")>0) ) f1=1;
        if ( f1==0 ) next;
        f=1; s=$0; next;
    }
    if ( f1==0 ) next;
    if (length($0)==0) { f=0; }
    if (f==1 )
     if (index($0,"inet_error")>0) { f=0; next;} else { printf("\n%s\n",s);}
    if (f==0) next;
    print $0;
    f++;
}'
...
Рейтинг: 0 / 0
Удалить в логе ненужные сообщения на разные моменты времени. Как ?
    #37526103
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanek842,

большое спасибо, всё работает! :-)
...
Рейтинг: 0 / 0
Удалить в логе ненужные сообщения на разные моменты времени. Как ?
    #37528600
sanek842,

жесть какая, выставить RS и пользоваться ~ не пробовали?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Удалить в логе ненужные сообщения на разные моменты времени. Как ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]