fastu animator
This commit is contained in:
18
files/fastdu
18
files/fastdu
@@ -6,6 +6,7 @@ function helpexit() {
|
||||
echo " -h Human readable units"
|
||||
echo " -s Summary mode, otherwise each argument folder calculated separate"
|
||||
echo " -c Count files instead of summarizing sizes"
|
||||
echo " -a Display animation while counting"
|
||||
echo " --help This help"
|
||||
exit
|
||||
}
|
||||
@@ -45,6 +46,15 @@ function siprefix() {
|
||||
}' || return $?
|
||||
}
|
||||
|
||||
function animate() {
|
||||
CHARS="|/-__-\\"
|
||||
i=0
|
||||
while true; do
|
||||
sleep 0.2
|
||||
printf "\r%s\r" ${CHARS:$i:1} >&2
|
||||
i=$(( (i + 1)%${#CHARS} ))
|
||||
done
|
||||
}
|
||||
|
||||
function processfolder() {
|
||||
if [[ "$COUNT" -eq 1 ]]; then
|
||||
@@ -77,12 +87,17 @@ for (( i=1; i<=$#; i++ )); do
|
||||
[[ "${!i}" = "-h" ]] && { HUMAN=1; continue; }
|
||||
[[ "${!i}" = "-c" ]] && { COUNT=1; continue; }
|
||||
[[ "${!i}" = "-s" ]] && { SUMMARY=1; continue; }
|
||||
[[ "${!i}" = "-a" ]] && { ANIMATE=1; continue; }
|
||||
what+=( "${!i}" )
|
||||
done
|
||||
[[ -z "${what[@]}" ]] && what="."
|
||||
# If only one entry, dont print the name
|
||||
[[ "${#what[@]}" -eq 1 ]] && SUMMARY=1
|
||||
|
||||
if [[ "$ANIMATE" -eq 1 ]]; then
|
||||
animate &
|
||||
fi
|
||||
|
||||
if [[ "$SUMMARY" -eq 1 ]]; then
|
||||
# Display one line
|
||||
processfolder "${what[@]}"
|
||||
@@ -97,4 +112,7 @@ else
|
||||
printf "$FORMAT" "$( processfolder "$dir" )" "$dir"
|
||||
done
|
||||
fi
|
||||
if [[ "$ANIMATE" -eq 1 ]]; then
|
||||
kill %1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user