#! /usr/bin/bash

progress-bar() {
   local current=${1}
   local len=${2}
   local length=50
   local perc_done=$((current*100 /len))
   local i
   local s="["
   local num_bars=$((perc_done * length /100))
   
   for ((i =0; i < num_bars;i++)); do
    s+="|"
   done
   
   for ((i=num_bars; i <length;i++)); do
    s+=" "
   done
   s+="]"

   echo -ne "${s} ${current}/${len} ${perc_done%}\r"
}
process-file() {
  local file=${1}

  sleep .1
}

shopt -s globstar nullglob

echo "finding files"
find . -name "*cache"

files=(./**/*cache)
len=${#files[@]}

echo "found ${len} files"

i=0
for file in "${files[@]}"; do
  progress-bar "$((i+1))" "${len}"
  process-file "${file}"

  ((i++))
done
