58 lines
2.1 KiB
Plaintext
58 lines
2.1 KiB
Plaintext
pendingPredictions=/home/pendingPredictions.txt
|
|
pendingPredictionsTemp="${pendingPredictions}.t"
|
|
resolvedPredictions=/home/resolvedPredictions.txt
|
|
|
|
function predict(){
|
|
read -p "> Statement: " statement
|
|
read -p "> Probability (%): " probability
|
|
read -p "> Date of resolution (year/month/day): " date
|
|
echo UNRESOLVED,$date,$probability,$statement >> $pendingPredictions
|
|
}
|
|
|
|
function resolve(){
|
|
> $pendingPredictions
|
|
while IFS= read -r -u9 line || [[ -n "$line" ]]; do
|
|
|
|
resolutionState="$(cut -d',' -f1 <<<"$line")"
|
|
date="$(cut -d',' -f2 <<<"$line")"
|
|
probability="$(cut -d',' -f3 <<<"$line")"
|
|
statement="$(cut -d',' -f4 <<<"$line")"
|
|
|
|
today=$(date +"%Y/%m/%d")
|
|
if [[ "$today" > "$date" ]];
|
|
then
|
|
# Already passed
|
|
echo $statement "("$date")"
|
|
read -p "> (TRUE/FALSE) " resolutionState
|
|
echo $resolutionState,$date,$probability,$statement >> $resolvedPredictions
|
|
else
|
|
# Not yet passed
|
|
echo $line >> $pendingPredictionsTemp
|
|
fi
|
|
done 9< "$pendingPredictions"
|
|
mv $pendingPredictionsTemp $pendingPredictions
|
|
}
|
|
|
|
function tally(){
|
|
|
|
numTRUEtens=0
|
|
numFALSEtens=0
|
|
for i in {0..100}
|
|
do
|
|
|
|
regExPatternTRUE="TRUE.*,${i},"
|
|
regExPatternFALSE="FALSE.*,${i},"
|
|
numTRUE="$(grep -c -e $regExPatternTRUE $resolvedPredictions)"
|
|
numFALSE="$(grep -c -e $regExPatternFALSE $resolvedPredictions)"
|
|
|
|
numTRUEtens=$((numTRUEtens+numTRUE))
|
|
numFALSEtens=$((numFALSEtens+numFALSE))
|
|
if [ $(( $i % 10 )) -eq 0 ] && [ $i -ne 0 ] ; then
|
|
echo $((i-10)) to $i : $numTRUEtens TRUE and $numFALSEtens FALSE
|
|
numTRUEtens=0
|
|
numFALSEtens=0
|
|
fi
|
|
done
|
|
|
|
}
|