Perc2
23. 6. 2019An attempt to do a script that would show percentage bar with 1/8 of single char resolution, using some unicode block chars
#U+2588 β Full block 100 %
#U+2589 β Left seven eighths block 87.5 %
#U+258A β Left three quarters block 75 %
#U+258B β Left five eighths block 62.5 %
#U+258C β Left half block 50 %
#U+258D β Left three eighths block 37.5 %
#U+258E β Left one quarter block 25 %
#U+258F β Left one eighth block 12.5 %
For a usage and tests see the beginning of the script.
Example output
for i in $(seq 0 0.1 100) ; do echo -ne "$i\t"; perc2 $i 100; done
27.0 βββββββββββββββββββββββββββ
27.1 ββββββββββββββββββββββββββββ
27.2 ββββββββββββββββββββββββββββ
27.3 ββββββββββββββββββββββββββββ
27.4 ββββββββββββββββββββββββββββ
27.5 ββββββββββββββββββββββββββββ
27.6 ββββββββββββββββββββββββββββ
27.7 ββββββββββββββββββββββββββββ
27.8 ββββββββββββββββββββββββββββ
27.9 ββββββββββββββββββββββββββββ
28.0 ββββββββββββββββββββββββββββ
28.1 βββββββββββββββββββββββββββββ
28.2 βββββββββββββββββββββββββββββ
28.3 βββββββββββββββββββββββββββββ
28.4 βββββββββββββββββββββββββββββ
Usage examples
perc2 90 10
# int or float, int
should give 90 percent over the range of 10 chars (10 chars is 100%).
perc2 10
should give 10 percent over the range of terminal width (tput cols).
Enabling info (info=β1β) in script should give you some basic debug info, like so
perc2 12
ββββββββββββββββββfull=17 perc=62.5 asci=β
where full is fullchars, perc is last block in percentage and asci is the closest representation of that percentage.