Войти

Показать полную графическую версию : Чтение из файла логов пинга хоста и вывод среднего значения о потерях пакетов.


VarseKc
08-11-2014, 18:06
Здравствуйте, уважаемые форумчане. Подскажите пожалуйста. Стоит такая задача. Написать батник, который бы читал построчно файл логов пинга в определенный промежуток по дате: считал количество строк в этом промежутке, в которых есть ответ и в которых нет ответа, а затем посчитал процент потерь.

Файл логов выглядит следующим образом:

Host: 192.168.10.12
2014-11-08 - 12:08:58 Reply from 192.168.10.12: bytes=32 time=5ms TTL=125
2014-11-08 - 12:08:59 Reply from 192.168.10.12: bytes=32 time=4ms TTL=125
2014-11-08 - 12:09:01 Reply from 192.168.10.12: bytes=32 time=9ms TTL=125
2014-11-08 - 12:09:10 Reply from 192.168.10.12: bytes=32 time=4ms TTL=125
2014-11-08 - 12:09:11 Reply from 192.168.10.12: bytes=32 time=6ms TTL=125
2014-11-08 - 12:09:12 Ping timed out.
2014-11-08 - 12:09:13 Ping timed out.
2014-11-08 - 12:09:14 Ping timed out.
2014-11-08 - 12:09:28 Ping timed out.
2014-11-08 - 12:09:33 Ping timed out.
2014-11-08 - 12:09:38 Ping timed out.
2014-11-08 - 12:09:43 Ping timed out.
2014-11-08 - 12:09:48 Ping timed out.
2014-11-08 - 12:09:53 Reply from 192.168.10.12: bytes=32 time=5ms TTL=125
2014-11-08 - 12:09:54 Reply from 192.168.10.12: bytes=32 time=35ms TTL=125
2014-11-08 - 12:09:55 Reply from 192.168.10.12: bytes=32 time=51ms TTL=125

Сейчас есть такой вариант

@(for /f %%i in ('^<"example.log" find /c /v ""') do @for /f %%j in ('^<"example.log" find /c "Reply from "') do @for /f %%k in ('set /a %%i-%%j-1') do @for /f %%l in ('set /a %%k*100/^(%%i-1^)') do @echo Received = %%j, Lost = %%k ^(%%l%% loss^).)& pause>nul& exit /b

Он считает все строки в которых прошел пинг и в которых пинг не прошел. И выводит процент потерь за весь файл. А нужно, чтобы за определенный промежуток по дате. За определенные строки.

Благодарю за помощь.

Iska
08-11-2014, 18:15
А нужно, чтобы за определенный промежуток по дате. За определенные строки. »
Используйте LogParser.

VarseKc
08-11-2014, 20:19
Спасибо, уже сделал!

Iska
08-11-2014, 20:37
VarseKc, а) не «сделал», а «сделали» и б) видел ;).

VarseKc
09-11-2014, 05:31
Сделали!




© OSzone.net 2001-2012