#!/bin/bash function printUsage() { echo "Please provide a valid level number"; echo "usage $o " exit 1 } min_number() { printf "%s\n" "$@" | sort -g | head -n1 } level=$1 if [ -z "$1" ]; then printUsage fi level=$1 if [ ! -d "/home/osm/tiles/$level" ]; then printUsage fi #echo level=$level level100=$((4**$level)) #echo level100=$level100 previousLevel=$(($level-1)) if [ ! -d "/home/osm/tiles/$previousLevel" ]; then printUsage fi #echo previousLevel=$previousLevel previousLevel100=$((4**$previousLevel)) #echo previousLevel100=$previousLevel100 # calculate tiles rendered in previousLevel find /home/osm/tiles/$previousLevel/ -name "*.png" > /tmp/files.txt read previousLevelTiles fileName <<< $(wc -l /tmp/files.txt) #echo previousLevelTiles=$previousLevelTiles # calculate files rendered in current level find /home/osm/tiles/$level/ -name "*.png" > /tmp/files.txt read levelTiles fileName <<< $(wc -l /tmp/files.txt) #echo levelTiles=$levelTiles # calculate progress percentageRequired=$(echo "scale=5;$previousLevelTiles / $previousLevel100" | bc) #echo percentageRequired=$percentageRequired percentageRequired="$(min_number $percentageRequired 1)" #echo percentageRequired=$percentageRequired levelTarget=$(echo "$level100 * $percentageRequired" | bc) #echo levelTarget=$levelTarget levelCalculated=$(echo "scale=4;($levelTiles / $levelTarget)" | bc) #echo levelCalculated=$levelCalculated progress=$(echo "scale=2;($levelCalculated*100)/1" | bc) progress="$(min_number $progress 100)" echo progress=$progress%