Files
bash-tut/progress-bar/progress-bar
2025-11-23 14:10:28 +01:00

46 lines
696 B
Bash
Executable File

#! /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