#!/bin/bash set -e declare -A expected_accuracy expected_accuracy=([bag]=0.53 [ball1-correct]=0.70 [ball1]=0.35 [car1]=0.35 [book]=0.19 [bmx]=0.45 [crossing]=0.72 [racing]=0.52) for i in "$@"; do [[ "$i" =~ build-(.*)/kcf_vot-(.*)-(.*).log ]] build=${BASH_REMATCH[1]} flags=${BASH_REMATCH[3]} seq=${BASH_REMATCH[2]} result=$(grep 'Average accuracy:' $i || :) if [[ "$result" =~ Average\ accuracy:\ ([0-9.]+) ]]; then if [[ $(echo "${BASH_REMATCH[1]} >= ${expected_accuracy[$seq]:-0}"|bc) -eq 1 ]]; then status=ok else status=ACCURACY fi else status=FAILED fi echo ! "$seq;$flags;$build;$result >= ${expected_accuracy[$seq]};$status" done | sort | column -t -s";"