|
|
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
Добрый день, помогите, пожалуйста, ламерру)) Есть лог, где периодически встречаются записи след. формата: ............................. ......... D T aa1 bb1 cc1 N1 (1) D T aa12 bb12 cc12 dd12 ee12 Req (2) ....... ................. ............ D T aa2 bb2 cc2 N2 (3) D T aa21 bb21 cc21 dd21 ee21 Req (4) ....... ......... ............................. ............. D T aa1 bb1 cc1 N1 (5) D T aa21 bb21 cc21 dd21 ee21 ACTIVE (6) ... .......................... ..... D T aa3 bb3 cc3 N3 (7) D T aa31 bb31 cc31 dd31 ee31 Req (8) ............. ............................. ....... .................. D T aa2 bb2 cc2 N2 (9) D T aa22 bb22 cc22 dd22 ee22 ACTIVE (10) Записи по номерами 1, 2 связаны с 3, 4. Связка определяется по совпадающим номерам N ( и там и там это N1 ) Аналогично и для других случаев. Формат для данных записей неизменный, т.е. если есть запись типа (2) то предидущая запись будет именно под типом (1). Нужно обратить внимание что у записей по номерами 7, 8 нет связанной пары со статусом ACTIVE. Необходимо вывести записи в след. формате: D T aa1 bb1 cc1 N1 D T aa12 bb12 cc12 dd12 ee12 D T aa1 bb1 cc1 N1 D T aa21 bb21 cc21 dd21 ee21 ACTIVE D T aa2 bb2 cc2 N2 D T aa21 bb21 cc21 dd21 ee21 D T aa2 bb2 cc2 N2 D T aa22 bb22 cc22 dd22 ee22 ACTIVE Т.е. только те связанные пары, где последняя пара в статусе ACTIVE. Отталкиваться при составлении селектора нужно именно от записи в статусе ACTIVE и определив номер N в записи - 1, найти по номеру N запись, где номер записи + 1 со статусом Req. Главная проблема у меня возникла в том, что, найдя по шаблону нужную мне строку со статусом ACTIVE и найдя X (это номер записи этой строки -1) не могу вытащить в записи под номером X-1 поле с номером N, т.к X постоянно обнуляется. Надеюсь,не сильно сумбурно объяснил)) Какими операторами можно вытащить X так, чтобы потом прога искала его с начала потока (заново), и найдя я мог выводить нужные поля с данным номером записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2010, 08:34 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
что-то такое: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2010, 10:39 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
или еще проще - так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2010, 11:21 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
Спасибо, попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2010, 08:57 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
к сожалению такой способ не работает. Значения зануляются (на вывод идёт пустая строка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2010, 13:07 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
бррр, не понял немного Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. вот как у меня. Какой вывод получается у Вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2010, 16:53 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
И ведь что характерно, почти каждый учил паскаль и какой-нибудь другой язык. Нет, выдумывают себе проблем с awk. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2010, 19:28 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
Pascal для таких задач малость не предназначен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2010, 21:34 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
--null--, это еще почему? readln или writeln отменили? Человека, который задается подобными вопросами вряд ли допустят писать скрипты для системы инициализации linux для каких-нибудь важных популярных пакетов. Никто не помрет если он напишет для своих задач на хорошо известном ему языке программу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2010, 00:00 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
Pascal конечно универсальный язык, файловый ввод-вывод не отменили и никто не помрет, но это не столь удобно (perl/shell/awk все-таки на такие задачи заточены и справляются меньшими трудозатратами и объемом кода), плюс часто это может быть требованием работодателя. Я, скажем, работал в конторе, где такие вещи даже на perl запрещали писать: типа вот у нас стандарт для серверных скриптов - Bourne shell и Korn shell + unix utils и будь добр все на нем делать. Пусть даже это менее эффективно. Для совместимости и неразмножения зоопарка. Заодно у них и требования к соискателям не раздувались потом. В общем, работодатель хочет - а наше дело исполнять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2010, 00:35 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
--null--, а что бывает unix без perl ? данунафик! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2010, 01:24 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
netwind--null--, а что бывает unix без perl ? данунафик!Очем разговор. Униксы бывают даже с комплиляторами паскаля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2010, 01:32 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
Relic Hunter, как о чем ? об откатах и идиотских требованиях в некоторых ИТ-отраслях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2010, 03:01 |
|
||
|
работа с логом с помощью AWK
|
|||
|---|---|---|---|
|
#18+
netwind--null--, а что бывает unix без perl ? данунафик! В общем и целом это ведь необязательный компонент ;-) Конечно, он везде был, просто они не хотели умножать сущности. (не надо поддерживать еще один язык, не надо его требовать при найме персонала и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2010, 09:50 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=36990255&tid=1484568]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
188ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 480ms |

| 0 / 0 |
