Big improve in explorer functions: Use jq select
This commit is contained in:
parent
eb86ae17a9
commit
e7686377d2
48
explorer.sh
48
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
|
||||
|
|
Loading…
Reference in New Issue