diff --git a/soldeByDays.sh b/soldeByDays.sh index 48b83a6..9540374 100755 --- a/soldeByDays.sh +++ b/soldeByDays.sh @@ -7,24 +7,19 @@ echo -e "\n############# $day à $startTime #############\n" SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" if [[ -e $SCRIPTPATH/.env ]]; then source $SCRIPTPATH/.env; else echo "Veuillez créer votre fichier .env inspiré de .env.example" && exit 1; fi -lsDaysW=$(ls $SCRIPTPATH/tmp/*_wallets) # | awk -F/ '{ print $NF }') # | awk -F_ '{ print $1 }') -nbrW=$(cat $lsDaysW | wc -l) -lsDaysW=$(echo "$lsDaysW" | awk -F/ '{ print $NF }') - -lsDaysM=$(ls $SCRIPTPATH/tmp/*_mbr) -nbrM=$(cat $lsDaysM | wc -l) -lsDaysM=$(echo "$lsDaysM" | awk -F/ '{ print $NF }') - rm $SCRIPTPATH/tmp/*_solde 2>/dev/null ! [[ -d $SCRIPTPATH/db ]] && mkdir $SCRIPTPATH/db echo "[" > $SCRIPTPATH/db/recus.json +lsDays=$(ls $SCRIPTPATH/tmp/) # | awk -F/ '{ print $NF }') # | awk -F_ '{ print $1 }') +nbrD=$(for i in $lsDays; do cat $SCRIPTPATH/tmp/$i; done | wc -l) + daysLoop() { k=0 l=0 for i in $lsDays; do - [[ $l -ge 20 ]] && break ## ((k++)) && continue - ((l++)) +# [[ $l -ge 20 ]] && break ## ((k++)) && continue +## ((l++)) walletDay=$(cat $SCRIPTPATH/tmp/$i) [[ -z $walletDay ]] && continue @@ -34,14 +29,16 @@ for i in $lsDays; do dateHDay=$(($dateLDay+60*60*24)) dateHDay=$(($dateHDay+3600*2)) + [[ $i =~ "_mbr" ]] && type="Membre" || type="Wallet" + for j in $walletDay; do echo "$(echo $i | awk -F_ '{ print $1 }'): $j" curl -s ${DUNITER}/tx/history/$j/times/$dateLDay/$dateHDay | jq '.history.received[].outputs[]' | grep $j | awk -F: '{ print $1 }' | tr -d '" ' >> $SCRIPTPATH/tmp/${i}_solde ((k++)) clear echo -e "\n############# $day à $startTime #############\n" - progress=$(echo "scale=1; $k*100/$nbr/1" | bc) - echo "Scan: $progress% - $k/$nbr" + progress=$(echo "scale=1; $k*100/$nbrD/1" | bc) + echo "Scan $type: $progress% - $k/$nbrD" done # Somme de la journée @@ -50,35 +47,31 @@ for i in $lsDays; do # Écriture en JSON soldes=$(echo "scale=2; $soldes/100" | bc) - if [[ $lsDays == $lsDaysW ]]; then + if [[ $i =~ "_mbr" ]]; then local jsonTPL=$(sed s/_DATE/$dateT/g $SCRIPTPATH/tpl/recus.json) - local jsonTPL=$(sed s/_RWALLETS/$soldes/g <<< $jsonTPL) - local jsonTPL=$(sed s/_RMEMBRES/_RMEMBRES_$dateT/g <<< $jsonTPL) + local jsonTPL=$(sed s/_RWALLETS/_RWALLETS_$dateT/g <<< $jsonTPL) + local jsonTPL=$(sed s/_RMEMBRES/$soldes/g <<< $jsonTPL) echo -e "$jsonTPL" | tr -d '\\' >> $SCRIPTPATH/db/recus.json - elif [[ $lsDays == $lsDaysM ]]; then + elif [[ $i =~ "_wallets" ]]; then if [[ ! $(grep $dateT $SCRIPTPATH/db/recus.json) ]]; then local jsonTPL=$(sed s/_DATE/$dateT/g $SCRIPTPATH/tpl/recus.json) - local jsonTPL=$(sed s/_RWALLETS/0/g <<< $jsonTPL) - local jsonTPL=$(sed s/_RMEMBRES/$soldes/g <<< $jsonTPL) + local jsonTPL=$(sed s/_RWALLETS/$soldes/g <<< $jsonTPL) + local jsonTPL=$(sed s/_RMEMBRES/0/g <<< $jsonTPL) echo -e "$jsonTPL" | tr -d '\\' >> $SCRIPTPATH/db/recus.json else - sed -i s/_RMEMBRES_$dateT/$soldes/g $SCRIPTPATH/db/recus.json + sed -i s/_RWALLETS_$dateT/$soldes/g $SCRIPTPATH/db/recus.json fi fi done } -lsDays=$lsDaysW -nbr=$nbrW -daysLoop - -lsDays=$lsDaysM -nbr=$nbrM daysLoop +# Final touch sed -i '$ s/,//g' $SCRIPTPATH/db/recus.json echo "]" >> $SCRIPTPATH/db/recus.json +awk '{gsub(/_RWALLETS.*/,"0\",")}1;' $SCRIPTPATH/db/recus.json > /tmp/tmpawk && mv /tmp/tmpawk $SCRIPTPATH/db/recus.json day=$(date +'%d-%m-%y') echo "$day - Heure de fin: $(date +'%H:%M')" diff --git a/sum.sh b/sum.sh index f9861e9..cce3926 100755 --- a/sum.sh +++ b/sum.sh @@ -1,8 +1,25 @@ #!/bin/bash +old() { echo "Total: $(echo $(($(cat tmp/*_solde | awk '{total+=$1}END{print total}')/100)) | sed ':a;s/\B[0-9]\{3\}\>/.&/;ta')" echo "Wallets: $(echo $(($(cat tmp/*wallets_solde | awk '{total+=$1}END{print total}')/100)) | sed ':a;s/\B[0-9]\{3\}\>/.&/;ta')" echo "Membres: $(echo $(($(cat tmp/*mbr_solde | awk '{total+=$1}END{print total}')/100)) | sed ':a;s/\B[0-9]\{3\}\>/.&/;ta')" echo "Fichiers vides:" for i in $(ls tmp/*_solde); do ! [[ $(cat $i) ]] && echo $i ; done +} + +json() { + sumW=$(jq -r '.[].rWallets' db/recus.json | awk '{ SUM += $1} END { printf "%.2f", SUM }' | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta') + sumM=$(jq -r '.[].rMembres' db/recus.json | awk '{ SUM += $1} END { printf "%.2f", SUM }' | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta') + sumT=$(jq -r '.[] | .rWallets, .rMembres' db/recus.json | awk '{ SUM += $1} END { printf "%.2f", SUM }' | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta') + + echo "Wallets: $sumW" + echo "Membres: $sumM" + echo "Total: $sumT" + + echo "Fichiers vides:" + for i in $(ls tmp/*_solde); do ! [[ $(cat $i) ]] && echo $i ; done +} + +json