Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Помогите с парсингом лога.

Ответить
Настройки темы
VBS/WSH/JS - [решено] Помогите с парсингом лога.

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Господа. Помогите с парсингом лога.
Лог вида:

Код: Выделить весь код
Date/Time: 4/23/14 9:52:35 PM
Sequence number: 10333482
Event type: 2112
Event category: Internal
Priority: Informational
Event needs attention: false
Event send alert: false
Event visibility: true
Description: Controller cache battery is fully charged
Event specific codes: 0/0/0
Component type: Battery Pack
Component location: Enclosure 85, Interconnect-battery CRU pack 1, Slot 1
Logged by: Controller in slot A

Raw data:
4d 45 4c 48 03 00 00 00 2a ad 9d 00 00 00 00 00 
12 21 49 00 e3 fd 57 53 09 00 00 00 00 00 00 00 
00 00 00 00 04 00 00 00 22 00 00 00 22 00 00 00 
09 00 00 00 55 00 00 00 01 00 00 00 02 00 00 00 
10 00 00 00 01 00 00 00 0a 00 00 00 01 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01 00 00 00 01 00 00 02 2c 00 00 00 20 00 00 0c 
55 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 
e7 2f 00 00 23 00 00 00 0a ff 00 00 0a ff 00 00 
04 00 00 8c 01 00 00 00 


Date/Time: 4/23/14 9:52:35 PM
Sequence number: 10333481
Event type: 730B
Event category: Internal
Priority: Informational
Event needs attention: false
Event send alert: false
Event visibility: true
Description: Battery fully charged
Event specific codes: 0/0/0
Component type: Battery Pack
Component location: Enclosure 85, Interconnect-battery CRU pack 1, Slot 1
Logged by: Controller in slot A

Raw data:
4d 45 4c 48 03 00 00 00 29 ad 9d 00 00 00 00 00 
0b 73 49 00 e3 fd 57 53 09 00 00 00 00 00 00 00 
00 00 00 00 04 00 00 00 22 00 00 00 22 00 00 00 
09 00 00 00 55 00 00 00 01 00 00 00 02 00 00 00 
10 00 00 00 01 00 00 00 0a 00 00 00 01 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01 00 00 00 01 00 00 02 2c 00 00 00 20 00 00 0c 
55 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 
e7 2f 00 00 23 00 00 00 0a ff 00 00 0a ff 00 00 
04 00 00 8c 01 00 00 00 


Date/Time: 4/23/14 9:21:53 PM
Sequence number: 10333480
Event type: 211C
Event category: Internal
Priority: Informational
Event needs attention: false
Event send alert: false
Event visibility: true
Description: Battery pack is charging
Event specific codes: 0/0/0
Component type: Battery Pack
Component location: Enclosure 85, Interconnect-battery CRU pack 1, Slot 1
Logged by: Controller in slot A

Raw data:
4d 45 4c 48 03 00 00 00 28 ad 9d 00 00 00 00 00 
1c 21 49 00 b1 f6 57 53 09 00 00 00 00 00 00 00 
00 00 00 00 04 00 00 00 22 00 00 00 22 00 00 00 
09 00 00 00 55 00 00 00 01 00 00 00 02 00 00 00 
10 00 00 00 01 00 00 00 0a 00 00 00 01 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01 00 00 00 01 00 00 02 2c 00 00 00 20 00 00 0c 
55 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 
70 2f 00 00 22 00 00 00 1c f2 00 00 0a ff 00 00 
04 00 00 8c 01 00 00 00
Этот лог формируется командой каждую минуту, которая выводит последние 100 событий и перезаписывает его.

Хотелось бы получить вывод следующего вида:

Код: Выделить весь код
4/23/14 9:52:35 PM | 10333480 | Battery Pack | Enclosure 85, Interconnect-battery CRU pack 1, Slot 1 | Battery pack is charging
Т.е. выводить поля Date/Time, Sequence number, Component type, Component location, Description в табличном виде с разделителем |. Хитрость еще в том, чтобы проверять Sequence number, т.к. лог перезаписывается полностью события могут дублироваться.

Заранее благодарен.

Отправлено: 12:13, 24-04-2014

 

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Решено через PowerShell:
Код: Выделить весь код
$rex = "^(Date/Time|Sequence number|Component type|Component location|Description)"
$z = (Get-Content log.txt) -match $rex -replace ": ","=" | ConvertFrom-StringData

$result = for($i=0;$i -lt $z.count;$i += 5) {
	"{0} | {1} | {2} | {3} | {4}" -f $($z[$i].Values),$($z[$i+1].Values),$($z[$i+3].Values),$($z[$i+4].Values),$($z[$i+2].Values)
} 

$result | Sort {$_.split("|")[1]} -Unique
$result | Out-File result.txt

Отправлено: 10:30, 10-10-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Помогите с парсингом лога.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - Запись лога распаковки архива abramov90 Скриптовые языки администрирования Windows 3 12-11-2012 19:16
Мои 4 лога eacl Лечение систем от вредоносных программ 10 22-06-2012 19:48
2008 R2 - Чтение лога DHCP differ Windows Server 2008/2008 R2 0 16-05-2012 18:14
CMD/BAT - Ping сохранение лога. last-77 Скриптовые языки администрирования Windows 1 27-09-2011 17:02
Сохранение лога разговора user_not_found Хочу все знать 2 27-01-2007 17:33




 
Переход