Заказ закрыт
Написать скрипт на bash для парсинга лога

l
Заказчик
Отзывы фрилансеров: + 0 - 0
Зарегистрирован на сайте 4 месяца
Бюджет: по договоренности
Добрый день,

Требуется написать  bash скрипт extract-scores.sh для парсинга определенных значений в файле, в котором находится вывод из stdout. 

Пример скрипта, который должен в результате выводить список значений, которые он распарсил. Скрипт ниже для обхода stdout другой бенчмарки. Скрипт ищет строки с названиями 
"Total time (ms)" 
"Nodes searched" 
"Nodes/second"
После строк стоит значение и в цикле через grep и awk берет только число.
И затем score после обхода передаются на вывод в маску на последней строке скрипта.

Результат запуска скрипта такой -

Score:Score:Total Time (ms):608697:ms:HB:
Score:Score:Nodes searched:1899976788:Nodes:HB:
Score:Score:Nodes/second:345633:NPS:HB:

Скрипт extract-scores.sh:

#!/bin/bash
LOG=*.stdout

for A in "Total time (ms)" "Nodes searched" "Nodes/second"; do
score=$NA
units=$ND
log_exists $LOG && {

if [[ $A == "Total time (ms)" ]]; then
    SCORE_LINE=$(cat *.stdout | grep "$A" | awk '{print $5;}')
    units="ms"
elif [[ $A == "Nodes searched" ]]; then
    SCORE_LINE=$(cat *.stdout | grep "$A" | awk '{print $4;}')
    units="Nodes"
else
    SCORE_LINE=$(cat *.stdout | grep "$A" | awk '{print $3;}')
    units="NPS"
fi
    score=$SCORE_LINE
}

#                    metric kind          metric mane          value    units    type
WORKLOAD=$A print_single_metric "$METRIC_KIND_SCORE" "$METRIC_KIND_SCORE" "$score" "$units" "$HIGHER_BETTER"
done

Задача:
Нужно сделать скрипт с такой же логикой и структурой вывода, чтобы из прикрепленного файла sysbench.log парсились значения. Как видно в логе, в нем результаты под-тестов разделаются заголовком sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
Для первой секции надо сделать, чтобы парсились значения с указанием CPU
CPU events per second
CPU total number of events
CPU Latency avg

Далее в логе идет следующяя секция для Memory
Memory Total operations per sec
Memory MiB transferred 
Memory Latency avg

Далее идет секция подготовки данных для SSD теста. Из этой секции ничего не надо

В следующей секции сам SSD тест. Из нее надо
SSD reads/s:                      
SSD writes/s:                     
SSD аsyncs/s:

SSD Throughput read, MiB/s:                  
SSD Throughput written, MiB/s:
SSD Latency avg

Из следующих двух последних секций ничего парсить не надо
Разделы:
Опубликован:
11.09.2025 | 16:50 [поднят: 11.09.2025 | 16:50]
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.

Посмотреть другие заказы

Теги: Специалисты по парсингу, недорого, FL.ru

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».