Назад | Перейти на главную страницу

разделить элемент массива специальным символом

Я хотел бы написать сценарий bash (было бы лучше, если бы сценарий был на python), который выполняет Perl сценарий ( https://github.com/MangeshBiradar/Check_mk/blob/master/check_jenkins_jobs.pl) внутри. Это результат, который Perl вывод скрипта:

CRITICAL ~ First_run ~ Build stability: 3 out of the last 4 builds failed. ~ 25
CRITICAL ~ Mangesh_Testing ~ Build stability: All recent builds failed. ~ 0
CRITICAL ~ MKS_Integrity ~ Build stability: All recent builds failed. ~ 0
OK ~ MKS_TEST ~ Build stability: No recent builds failed. ~ 100
CRITICAL ~ Rest_api_testing ~  ~ no score
CRITICAL ~ Second_job ~  ~ no score
OK ~ Team_test ~ Build stability: No recent builds failed. ~ 100
OK ~ test ~ Build stability: No recent builds failed. ~ 100
CRITICAL ~ TEST_1 ~ Build stability: 2 out of the last 3 builds failed. ~ 33
OK ~ Update_Outlook ~ Build stability: No recent builds failed. ~ 100

Теперь у меня есть задача добавить к этому bash/python сценарий заключается в анализе Perl вывод скрипта. В соответствии с первым полем (CRITICAL, OK) в проанализированном выводе я хотел бы вернуть соответствующее значение для CRITICAL return 2, для OK return 0 и т. Д. Какими способами я могу этого добиться?

Немного изменим цикл for:

for line in "${array[@]}"
do
   OIFS=$IFS                   # store old IFS in buffer
   IFS='~'                     # set IFS to '-'
   for i in $line
   do
      echo  $i
   done
  IFS=$OIFS
done