From e7686377d2e8d2cab3365617adc3784ec7297e6c Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 2 Oct 2020 23:50:08 +0200 Subject: [PATCH] Big improve in explorer functions: Use jq select --- explorer.sh | 48 ++++++------------------------------------------ 1 file changed, 6 insertions(+), 42 deletions(-) diff --git a/explorer.sh b/explorer.sh index 89e68df..cc97674 100755 --- a/explorer.sh +++ b/explorer.sh @@ -8,56 +8,20 @@ jsonFile="$GPATH/db/daily.json" cmd=$1 dateRange=$2 [[ -z $dateRange ]] && dateRange=$(jq -r '.[].date' $jsonFile | tail -n1) -lineNbr=$(grep -n "$dateRange" $jsonFile | cut -d : -f 1) -[[ -z $lineNbr ]] && echo "La date $dateRange n'existe pas en cache G1Stats" && exit 1 +[[ ! $(grep $dateRange $jsonFile) ]] && echo "La date $dateRange n'existe pas en cache G1Stats" && exit 1 cumulate() { - lineNbr=$(($lineNbr+7)) - - jsonDated=$(head -n$lineNbr $jsonFile) - jsonDated=$(echo -e "$jsonDated\n }\n]") - - sumRWBrut=$(jq -r '.[].rWallets' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }') - sumRMBrut=$(jq -r '.[].rMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }') - sumRTBrut=$(jq -r '.[] | .rWallets, .rMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }') - sumSWBrut=$(jq -r '.[].sWallets' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }') - sumSMBrut=$(jq -r '.[].sMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }') - sumSTBrut=$(jq -r '.[] | .sWallets, .sMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }') - - nbrMembers=$(jq -r '.[].nbrMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.0f", SUM }') - nbrWallets=$(jq -r '.[].nbrWallets' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.0f", SUM }') - - soldeWBrut=$(echo "$sumRWBrut-$sumSWBrut" | bc) - soldeMBrut=$(echo "$sumRMBrut-$sumSMBrut" | bc) - - UD=$(jq -r '.[].UD' <<<$jsonDated | tail -n1) - - echo "{ - \"date\": "\"$dateRange\"", - \"UD\": $UD, - \"rWallets\": $sumRWBrut, - \"sWallets\": $sumSWBrut, - \"soldeWallets\": $soldeWBrut, - \"rMembers\": $sumRMBrut, - \"sMembers\": $sumSMBrut, - \"soldeMembers\": $soldeMBrut, - \"nbrMembers\": $nbrMembers, - \"nbrWallets\": $nbrWallets - } - " | jq . + jsonCum="$(jq -f $GPATH/lib/cumulate.jq $jsonFile)" + jq '.[] | select(.date=="'$dateRange'")' <<<$jsonCum } day() { - lineNbr=$(($lineNbr+8)) - - jsonDated=$(head -n$lineNbr $jsonFile | tail -n10 | sed 's/},/}/g') - jq . <<<"$jsonDated" + jq '.[] | select(.date=="'$dateRange'")' $jsonFile } mass() { - lineNbr=$(($lineNbr+7)) - jsonDated="$(head -n$lineNbr $jsonFile)}]" - jq -f $GPATH/lib/cumulate.jq <<<"$jsonDated" | jq '.[] | .UD*.nbrMembers' | awk '{ SUM += $1} END { printf "%.2f", SUM }'; echo + jsonDated=$(jq '.[0: map(.date) | index("'$dateRange'")+1]' $jsonFile | jq -f $GPATH/lib/cumulate.jq) + jq '.[] | .UD*.nbrMembers' <<<"$jsonDated" | awk '{ SUM += $1} END { printf "%.2f", SUM }'; echo } [[ -z $cmd ]] && cmd=cumulate