#!/bin/bash # Récupération du chemin absolut du répertoir du script actuel GPATH="$( cd "$(dirname "$0")" ; pwd -P )" source $GPATH/.env 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 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 . } day() { lineNbr=$(($lineNbr+8)) jsonDated=$(head -n$lineNbr $jsonFile | tail -n10 | sed 's/},/}/g') jq . <<<"$jsonDated" } 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 } [[ -z $cmd ]] && cmd=cumulate $cmd