Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] cmd скрипт - получить данные по curl, извлечь одно значение и вывести его (http://forum.oszone.net/showthread.php?t=344719)

Sick_013 07-04-2020 13:06 2916139

cmd скрипт - получить данные по curl, извлечь одно значение и вывести его
 
Привет

Помогите написать скрипт, нужно получить данные по curl, от локального сервера который возвращает prometheus метрики, после чего извлечь одно значение и вывести его как результат скрипта.

Код:

curl http://admin:admin@127.0.0.1:80/tools/metrics-prometheus
вывод получаю такой:

HTML код:

orthanc_count_instances 7 1586251203777
orthanc_count_patients 5 1586251203777
orthanc_count_series 7 1586251203777
orthanc_count_studies 5 1586251203777
orthanc_disk_size_mb 98.7805328 1586251203777
orthanc_jobs_completed 10 1586251203777
orthanc_jobs_failed 0 1586251203777
orthanc_jobs_pending 0 1586251203777
orthanc_jobs_running 0 1586251203777
orthanc_jobs_success 10 1586251203777
orthanc_rest_api_active_requests 1 1586251203776
orthanc_rest_api_duration_ms 0 1586248489920
orthanc_uncompressed_size_mb 98.7805328 1586251203777

из этого вывода нужно получить одно значение orthanc_disk_size_mb, то есть чтобы скрипт выводил 98
без имени метрики, дробной части и того что после пробела.

Заранее спасибо кто откликнется)

iglezz 07-04-2020 13:53 2916145

Если вывод -- простой текст, то можно так:
Код:

for /f "tokens=1,2 delims=. " %%a in ('curl http://admin:admin@127.0.0.1:80/tools/metrics-prometheus') do if "%%a"=="orthanc_disk_size_mb" set value=%%b
В результате в переменной %value% будет искомое значение или пусто, если значение не найдено.
Подробности в `for /?`

Sick_013 07-04-2020 14:49 2916157

Огромное спасибо! сначала не взлетело, потом понял что curl.exe нужно дописать :up


Время: 03:16.

Время: 03:16.
© OSzone.net 2001-